Re: Upgrading postgres to 10 running with patroni

From: Debraj Manna <subharaj(dot)manna(at)gmail(dot)com>
To: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Upgrading postgres to 10 running with patroni
Date: 2017-11-16 07:32:32
Message-ID: CAF6DVKO27E=1nU7HWWxDczsw53Ata4djPjf9mMOP5_smO5RFZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

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

Attachment Content-Type Size
patroni.yml application/octet-stream 2.4 KB

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Magnus Hagander 2017-11-16 07:40:45 Re: Upgrading postgres to 10 running with patroni
Previous Message Debraj Manna 2017-11-16 07:29:54 Upgrading postgres to 10 running with patroni