Re: fail to run postgresql16 after update from postgresql13 - Mailing list pgsql-novice

From Laurenz Albe
Subject Re: fail to run postgresql16 after update from postgresql13
Date
Msg-id c3eb27eaf33d223c1773208ef6af87191c57b188.camel@cybertec.at
Whole thread Raw
In response to Re: fail to run postgresql16 after update from postgresql13  (Ianseeks <bingmybong@btinternet.com>)
Responses Re: fail to run postgresql16 after update from postgresql13  (Ianseeks <bingmybong@btinternet.com>)
List pgsql-novice
On Thu, 2023-11-02 at 11:13 +0000, Ianseeks wrote:
> On Thursday, 2 November 2023 10:16:33 GMT Laurenz Albe wrote:
>
> > > I can't get Akonadi to load as it fails to start postgresql16, its failing
> > > with a message saying it needs postgesql9.6 as the DB was originally
> > > created using 9.6. I can't see why it insists on ver 9.6 being there as
> > > i've updated to ver 16 and that process means i create an empty DB.  I
> > > can't even install Ver 9.6 to see if that cures the problem as its no
> > > longer in the opensuse repos.
> > >
> > > This is from "systemctl status postgresql.service"
> > >
> > > Oct 31 16:24:13 Lian-Li systemd[1]: Starting PostgreSQL database server...
> > > Oct 31 16:24:13 Lian-Li postgresql-script[5916]:  Your database files were created by PostgreSQL version 9.6.
> >
> > These error messages are not from PostgreSQL, but they seem to be from
> > the script "postgresql-script".  That script is not part of PostgreSQL.
> >
> > Look into that script and try to figure out how it arrives at that
> > conclusion. If you cannot figure it out yourself, please share the relevant
> > parts.
>
> Is it acceptable to attach text files to email in this mailing list?  I know
> some don't like it.
> I've found the script file (/usr/share/postgresql/postgresql-script) and that
> message is in there but the coding in it is beyond my expertise as i can only
> do basic stuff.
> Here is a cut and paste of part of it.
>
> ----- /usr/share/postgresql/postgresql-script ----
>
> PG_SYSCONFIG=/etc/sysconfig/postgresql
> test -f $PG_SYSCONFIG && . $PG_SYSCONFIG

Look into "/etc/sysconfig/postgresql" and see if it sets POSTGRES_DATADIR.

> eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}

If not, DATADIR is set to the subdirectory "data" of the home directory
of user "postgres".

Is DATADIR the data directory you upgraded?

> OPTIONS=${POSTGRES_OPTIONS}
> INITDB_OPTS=${POSTGRES_INITDB_OPTS}
> PIDFILE=$DATADIR/postmaster.pid
>
> #
> if test -r $DATADIR/PG_VERSION ; then
>     DATA_VERSION=$(cat $DATADIR/PG_VERSION)
>     POSTGRES=/usr/lib/postgresql$(echo -n $DATA_VERSION | tr -d .)/bin/postgres
> fi

DATA_VERSION is set to the first line in the PG_VERSION file in DATADIR.

What is that?  According to the error message, it should be 9.6.

POSTGRES is set to /usr/lib/postgresql<DATA_VERSION with periods removed>/bin/postgres

> if test -x /usr/bin/postgres; then
>     ACTIVE=$(readlink -q -f /usr/bin/postgres)
>     test -z "$POSTGRES" && POSTGRES="$ACTIVE"
> fi
> if test -n "$DATA_VERSION"; then
>     if test -z "$ACTIVE" -o "$ACTIVE" != "$POSTGRES"; then
>     echo " Your database files were created by PostgreSQL version $DATA_VERSION."

Looks like /usr/bin/postgres, if you resolve the symbolic link, is different
from POSTGRES constructed above.

Yours,
Laurenz Albe



pgsql-novice by date:

Previous
From: Ianseeks
Date:
Subject: Re: fail to run postgresql16 after update from postgresql13
Next
From: Ianseeks
Date:
Subject: Re: fail to run postgresql16 after update from postgresql13