Re: Broken after upgrade - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Broken after upgrade
Date
Msg-id 7a1a4774-6449-f42d-ab15-0b36688f9981@aklaver.com
Whole thread Raw
In response to Re: Broken after upgrade  (arnaud gaboury <arnaud.gaboury@gmail.com>)
Responses Re: Broken after upgrade
List pgsql-general
On 07/09/2016 03:09 AM, arnaud gaboury wrote:
> On Sat, Jul 9, 2016 at 11:54 AM, arnaud gaboury
> <arnaud.gaboury@gmail.com> wrote:
>> On Thu, Jul 7, 2016 at 10:01 AM, arnaud gaboury
>> <arnaud.gaboury@gmail.com> wrote:
>>> On Thu, Jul 7, 2016 at 1:00 AM, José María Terry Jiménez
>>> <jtj@tssystems.net> wrote:
>>>> El 7/7/16 a las 0:14, Devrim Gündüz escribió:
>>>>
>>>>> Hi,
>>>>>
>>>>> Fedora packages have an executable (not sure about its name, but check a
>>>>> package called postgresql-upgrade or so). That will help you to finish the
>>>>> upgrade process.
>>>>>
>>>>> Regards, Devrim
>>>>>
>>>> Hello
>>>>
>>>> Yes, the package is called postgresql-upgrade, and you can read detailed
>>>> instructions in /usr/share/doc/postgresql
>>>>
>>>> In Fedora 22 (the machine i can check now) the document is called
>>>> README.rpm-dist in that directory
>>>>
>>>> Hope helps you
>>>
>>> I effectively found the postgresql-update tool. But when running it, I
>>> get an error:
>>>
>>> # postgresql-setup --upgrade
>>>
>>>  * Upgrading database.
>>> ERROR: pg_upgrade tool failed
>>> ERROR: Upgrade failed.
>>>  * See /var/lib/pgsql/upgrade_postgresql.log for details.
>>>
>>>
>>> #  cat /var/lib/pgsql/upgrade_postgresql.log
>>> -----------------------------------------------------------------
>>> connection to database failed: could not connect to server: No such
>>> file or directory
>>>     Is the server running locally and accepting
>>>     connections on Unix domain socket "/home/postgres/.s.PGSQL.5432"?
>>>
>>>
>>> could not connect to old postmaster started with the command:
>>> "/usr/lib64/pgsql/postgresql-9.4/bin/pg_ctl" -w -l
>>> "pg_upgrade_server.log" -D "/db/pgsql/data-old" -o "-p 5432 -b  -c
>>> listen_addresses='' -c unix_socket_permissions=0700 -c
>>> unix_socket_directories='/home/postgres'" start
>>> Failure, exiting
>>> --------------------------------------------------
>>>
>>> My data dir is in fact /db/pgsql/data. I do not know why it is looking
>>> for data-old.
>>> I will investigate this way.
>>>
>>
>> It took me some time to figure out the correct way for Fedora to
>> upgrade pgsql. Here is the command I am supposed to run as postgres
>> user, with postgresql.service stopped:
>>
>>
>> $ pg_upgrade -b /usr/lib64/pgsql/postgresql-9.4/bin/ -B /usr/bin -d
>> /db/pgsql/data.old -D /db/pgsql/data
>>
>> with data a new DB initialized with postgresql 9.5, data.old my
>> original DB, postgresql-9.4/bin old cluster executable.
>> NOTE: I didn't put my original config files pg_hba.conf, pg_ident.conf
>> and postgresql.conf in the new data directory. I left everything
>> untouched after the init command. Is it correct ?
>>
>> The above command returns an error:
>> -----------------------------------------------------------------------
>> *failure*
>> Consult the last few lines of "pg_upgrade_server.log" for
>> the probable cause of the failure.
>>
>> connection to database failed: could not connect to server: No such
>> file or directory
>>     Is the server running locally and accepting
>>     connections on Unix domain socket "/db/pgsql/.s.PGSQL.50432"?
>>
>>
>> could not connect to old postmaster started with the command:
>> "/usr/lib64/pgsql/postgresql-9.4/bin/pg_ctl" -w -l
>> "pg_upgrade_server.log" -D "/db/pgsql/data.old" -o "-p 50432 -b  -c
>> listen_addresses='' -c unix_socket_permissions=0700 -c
>> unix_socket_directories='/db/pgsql'" start
>> Failure, exiting
>> ---------------------------------------------------------------------
>>
>> My postgresql service is in fact started with its socket in
>> /run/postgresql directory, as indicated in my postgresql.conf. Now,
>> when running pg_upgrade, where is the socket ? I guess it shall be in
>> << unix_socket_directories='/db/pgsql' >> as indicated in the log file
>> above? But it isn't apparently as postgresql can find the socket. How
>> can I change this behavior? How can I tell pg_upgrade to place the
>> socket in /db/pgsql ?
>>
>> Thank you for help. This issue is getting me crazy and my mail server is broken.
>
> UPDATE
>
> Running the following command (it indicates where to find the socket):
>
> $  /usr/lib64/pgsql/postgresql-9.4/bin/pg_ctl -w -l
> "pg_upgrade_server.log" -D "/db/pgsql/data.old" -o "-p 50432 -b  -c
> listen_addresses='' -c unix_socket_permissions=0700 -c
> unix_socket_directories='/run/postgresql'" start >>
> "pg_upgrade_server.log"
>
>
> leave me this time with another error, in fact the original one:
>
> % cat pg_upgrade_server.log
> waiting for server to start....FATAL:  22023: database files are
> incompatible with server
> DETAIL:  The data directory was initialized by PostgreSQL version 9.5,
> which is not compatible with this version 9.4.8.
> LOCATION:  ValidatePgVersion, miscinit.c:1216
>  stopped waiting

Actually it is the opposite of your original message:

"postgres(at)thetradinghall ➤➤ systemd/system %
/usr/libexec/postgresql-ctl start -D /db/pgsql/data -s -w -t 270
FATAL:  22023: database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.4,
which is not compatible with this version 9.5.3.

>
> So aside this socket issue, it seems I am back again to the
> initialization issue. Is there something wrong in the command I use ?
>
> $ pg_upgrade -b /usr/lib64/pgsql/postgresql-9.4/bin/ -B /usr/bin -d
> /db/pgsql/data.old -D /db/pgsql/data
>

Have no idea as I am confused as to your layout and what you have done, so:

1) Did you run the Fedora postgresql-setup upgrade command at any time?

2) What versions of Postgres do you have installed and/or running?
Please verify from package manager and/or ps.

3) List what is in the PG_VERSION file of each directory you are using.




--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: arnaud gaboury
Date:
Subject: Re: Broken after upgrade
Next
From: Derek Mahar
Date:
Subject: PostgreSQL image for rkt on CoreOS