Re: Upgrading postgres to 10 running with patroni

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Debraj Manna <subharaj(dot)manna(at)gmail(dot)com>
Cc: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Upgrading postgres to 10 running with patroni
Date: 2017-11-16 07:40:45
Message-ID: CABUevEwS+g2ZdH7jN_tgMDZZYfqe6E-FchW3Z3QExwOe4RuXXw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

You need Patroni 1.3 to work with postgresql version 10. My guess is that's
where your problem is.

/Magnus

On Nov 16, 2017 08:34, "Debraj Manna" <subharaj(dot)manna(at)gmail(dot)com> wrote:

> I am attaching my patroni.yml for reference.
>
> On Thu, Nov 16, 2017 at 12:59 PM, Debraj Manna <subharaj(dot)manna(at)gmail(dot)com>
> wrote:
>
>> Hi
>>
>> I am trying to upgrade postgres 9.5 to postgres 10 running with patroni.
>> I am using patroni 1.0 with single node postgres.
>>
>> The steps that I have been following -
>>
>> *Stop patroni*
>> sudo kill -9 <patroni process id>
>>
>>
>> *Install postgres-10*
>> sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/
>> trusty-pgdg main"
>> wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |
>> sudo apt-key add -
>> sudo apt-get update
>> sudo apt-get install postgresql-10
>>
>> *Stop postgresql cluster*
>>
>> *Init data directory for the new upgrade*
>> sudo -H -u postgres mkdir -p /var/lib/postgresql/10/data/postgresql0
>> sudo -H -u postgres /usr/lib/postgresql/10/bin/pg_ctl -D
>> /var/lib/postgresql/10/data/postgresql0 initdb -o '--data-checksums' -o
>> '--locale=C' -o '--encoding=utf8'
>>
>> *Change data_directory in postgresq.conf for both 9.5 & 10*
>> data_directory - /var/lib/postgresql/data/postgresql0 # For
>> postgresql-9.5
>> data_directory - /var/lib/postgresql/10/data/postgresql0 # For
>> postgresql-10
>>
>> *Perform the upgrade*
>> cd /tmp
>> sudo -H -u postgres /usr/lib/postgresql/10/bin/pg_upgrade \
>> -b /usr/lib/postgresql/9.5/bin \
>> -B /usr/lib/postgresql/10/bin \
>> -d /var/lib/postgresql/data/postgresql0 \
>> -D /var/lib/postgresql/10/data/postgresql0 \
>> -o ' -c config_file=/etc/postgresql/9.5/main/postgresql.conf' \
>> -O ' -c config_file=/etc/postgresql/10/main/postgresql.conf' -k
>>
>> *./analyze_new_cluster.sh reported success.*
>>
>> *Copy conf files*
>> Copied postgresql.base.conf, postgresql.conf , pg_hba.conf &
>> postmaster.opts from 9.5 data directory /var/lib/postgresql/
>> data/postgresql0 to the 10 data directory /var/lib/postgresql/
>> 10/data/postgresql0
>>
>>
>> *Change postmaster.opts to match postgres-10 locations*
>> /usr/lib/postgresql/10/bin/postgres "-D" "/var/lib/postgresql/10/data/postgresql0"
>> "-p" "50432" "-b" "-c" "config_file=/etc/postgresql/10/main/postgresql.conf"
>> "-c" "listen_addresses=" "-c" "unix_socket_permissions=0700" "-c"
>> "unix_socket_directories=/tmp"
>>
>> *Change data_dir in patroni.yml to/var/lib/postgresql/10/data/postgresql0*
>>
>> On starting patroni I am getting exception like below and also the DB is
>> not accessible.
>>
>> 2017-11-16 07:11:18,622 INFO: Connecting to localhost:2181
>> 2017-11-16 07:11:18,624 INFO: Zookeeper connection established, state: CONNECTED
>> 2017-11-16 07:11:19,132 INFO: Closing connection to localhost:2181
>> 2017-11-16 07:11:19,132 INFO: Zookeeper session lost, state: CLOSED
>> 2017-11-16 07:11:19,133 INFO: Connecting to localhost:2181
>> 2017-11-16 07:11:19,135 INFO: Zookeeper connection established, state: CONNECTED
>> Traceback (most recent call last):
>> File "/usr/local/bin/patroni", line 11, in <module>
>> load_entry_point('patroni==1.0', 'console_scripts', 'patroni')()
>> File "/usr/local/lib/python2.7/dist-packages/patroni/__init__.py", line 128, in main
>> patroni.run()
>> File "/usr/local/lib/python2.7/dist-packages/patroni/__init__.py", line 102, in run
>> logger.info(self.ha.run_cycle())
>> File "/usr/local/lib/python2.7/dist-packages/patroni/ha.py", line 502, in run_cycle
>> return self._run_cycle()
>> File "/usr/local/lib/python2.7/dist-packages/patroni/ha.py", line 470, in _run_cycle
>> if self.sysid_valid(self.cluster.initialize) and self.cluster.initialize != self.state_handler.sysid:
>> File "/usr/local/lib/python2.7/dist-packages/patroni/postgresql.py", line 257, in sysid
>> data = self.controldata()
>> File "/usr/local/lib/python2.7/dist-packages/patroni/postgresql.py", line 675, in controldata
>> result = {l.split(':')[0].replace('Current ', '', 1): l.split(':')[1].strip() for l in data if l}
>> File "/usr/local/lib/python2.7/dist-packages/patroni/postgresql.py", line 675, in <dictcomp>
>> result = {l.split(':')[0].replace('Current ', '', 1): l.split(':')[1].strip() for l in data if l}
>> IndexError: list index out of range
>> ~
>>
>> I was able to access the DB before starting patroni. So I think I missed
>> something on patroni side.
>>
>> I am not sure if this is the right forum to ask this question. If anyone
>> has tried this please do let me know your thoughts.
>>
>
>
>
> --
> Sent via pgsql-admin mailing list (pgsql-admin(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin
>
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Debraj Manna 2017-11-16 08:34:22 Re: Upgrading postgres to 10 running with patroni
Previous Message Debraj Manna 2017-11-16 07:32:32 Re: Upgrading postgres to 10 running with patroni