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

From Ianseeks
Subject Re: fail to run postgresql16 after update from postgresql13
Date
Msg-id 5722659.DvuYhMxLoT@lian-li
Whole thread Raw
In response to Re: fail to run postgresql16 after update from postgresql13  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-novice
On Thursday, 2 November 2023 14:27:34 GMT Laurenz Albe wrote:
> 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}
Seems it points here /var/lib/pgsql/data
> If not, DATADIR is set to the subdirectory "data" of the home directory
> of user "postgres".
> 
> Is DATADIR the data directory you upgraded?
No, its a database in my local login
 
> > 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.
Yes, it is 9.6 so thats where its getting it from.

> 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.

I'll have to pass this back to opensuse to solve.  
> Yours,
> Laurenz Albe

Thanks a lot for your help, its been very useful.
All the best. 

opensuse:tumbleweed:20231031
Qt: 5.15.11 KDE Frameworks: 5.111.0 - KDE Plasma:  5.27.9 - kwin 5.27.9
kmail2 5.24.2 (23.08.2) - akonadiserver 5.24.2 (23.08.2) - Kernel:  6.5.9-1-
default  - kernel-firmware-radeon  20231019






pgsql-novice by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: fail to run postgresql16 after update from postgresql13
Next
From: Simon Connah
Date:
Subject: I installed PostgreSQL 16 from the offical Fedora 39 repos - need PostGIS