From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | Devrim Gündüz <devrim(at)gunduz(dot)org> |
Cc: | pgsql-pkg-yum(at)postgresql(dot)org |
Subject: | Re: two issues with v12 beta3 |
Date: | 2019-08-28 23:51:51 |
Message-ID: | 20190828235151.GS7201@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-pkg-yum |
Checking back about these
On Thu, Aug 22, 2019 at 11:21:21AM -0500, Justin Pryzby wrote:
> On Thu, Aug 22, 2019 at 05:52:34PM +0300, Devrim Gündüz wrote:
> >
> > Hi Justin,
> >
> > On Thu, 2019-08-22 at 07:46 -0500, Justin Pryzby wrote:
> > > One of our customers is shutting down, so I took the opportunity to upgrade
> > > their DB to v12b3.
> > >
> > > I found 2 issues:
> > >
> > > The initscript and refuses to start for beta versions.
> > > > [pryzbyj(at)telsasoft ~]$ sudo /etc/init.d/postgresql-12 start
> > > >
> > > > An old version of the database format was found.
> > > > You need to upgrade the data format before using PostgreSQL.
> > > > See (Your System's documentation directory)/postgresql-12beta2/README.rpm-
> > > > dist for more information.
> > >
> > > Due to:
> > > ++ cat /var/lib/pgsql/12/data/PG_VERSION
> > > + '[' x12 '!=' x12beta2 ']'
> > >
> > > # PGMAJORVERSION is major version, e.g., 10 (this should match PG_VERSION)
> > > PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\)\.[0-9]*$/\1/'`
> > >
> > > I guess it should s/beta[0-9]*$//, or (I suggested in the past):
> > > PGMAJORVERSION=${PGVERSION%%.*}
> >
> > Fixed. Thanks for the report.
>
> I think the patch is wrong.
> It used to do: -PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\)\.[0-9]*$/\1/'`
> meaning: remove trailing .* suffix. That's still necessary (well it will be in
> November when 12.1 is scheduled to be released). Need to ALSO remove betaN.
> https://git.postgresql.org/gitweb/?p=pgrpms.git;a=commitdiff;h=1f870b1071c1c35793796220522e6c9929692e85
>
> I proposed: PGMAJORVERSION=${PGVERSION%%.*}
> meaning: remove maximum suffix matching .* (literal dot, not a shell metachar)
> ... without forking and relying on sed.
> It's my understanding that's portable POSIX shell.
>
> And, you could do:
> PGPREVMAJORVERSION=$((PGMAJORVERSION-1))
>
> > > Also, for centos6, v12b2 is available but not 12b3??
> >
> > *sigh* . It was an issue with CentOS 6 sync scripts. Sorry.
> >
> > So, I used this chance to rebuild beta3 with the fix above. They will be
> > available in next 30 mins.
>
> Not yet, but I'm in no rush. It looks like I really did install the previous
> betas (at least v3 on centos7) but apparently never restarted, since the
> catalog version was changed and I never noticed that nor the initscript.
>
> Justin
On Thu, Aug 22, 2019 at 12:47:45PM -0500, Justin Pryzby wrote:
> On Thu, Aug 22, 2019 at 11:21:21AM -0500, Justin Pryzby wrote:
> > And, you could do:
> > PGPREVMAJORVERSION=$((PGMAJORVERSION-1))
>
> I take that back; PGPREVMAJORVERSION is used for the upgrade path (which I've
> never used).
>
> The prior version could be anything since 8.4, since it's allowed to pg_upgrade
> to "skip across" major versions (like from 9.6 to 11).
>
> So it should either be configurable, with a default, like:
> # Assign previous major version from current version if not set in environment:
> : ${PGPREVMAJORVERSION:=$((PGMAJORVERSION-1))}
>
> Or otherwise it should be detected, perhaps like:
> # Should run as user: postgres
> psql postgres -Atc "SELECT current_setting('server_version')"
> 12beta2
>
> Also, I noticed in the upgrade case the initscript says "su" instead of $SU.
>
> Justin
From | Date | Subject | |
---|---|---|---|
Next Message | Devrim Gündüz | 2019-08-29 01:47:40 | Re: two issues with v12 beta3 |
Previous Message | Devrim Gündüz | 2019-08-27 10:36:41 | Re: Repo directory in RPM for CentOS 7.6 does not exist |