Skip to content

Commit 33cfd15

Browse files
committed
updated in_place und pg_upgrade
1 parent eb4f049 commit 33cfd15

2 files changed

Lines changed: 8 additions & 11 deletions

File tree

major_upgrade/inplace_upgrade.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from collections import defaultdict
1515
from threading import Thread
1616
from multiprocessing.pool import ThreadPool
17+
from patroni import global_config
1718

1819
logger = logging.getLogger(__name__)
1920

@@ -130,12 +131,11 @@ def check_patroni_api(self, member):
130131
return logger.error('API request to %s name failed: %r', member.name, e)
131132

132133
def toggle_pause(self, paused):
133-
from patroni.config import get_global_config
134134
from patroni.utils import polling_loop
135135

136136
cluster = self.dcs.get_cluster()
137137
config = cluster.config.data.copy()
138-
if get_global_config(cluster).is_paused == paused:
138+
if global_config.from_cluster(cluster).is_paused == paused:
139139
return logger.error('Cluster is %spaused, can not continue', ('' if paused else 'not '))
140140

141141
config['pause'] = paused
@@ -203,15 +203,13 @@ def ensure_replica_state(member):
203203
return all(ensure_replica_state(member) for member in cluster.members if member.name != self.postgresql.name)
204204

205205
def sanity_checks(self, cluster):
206-
from patroni.config import get_global_config
207-
208206
if not cluster.initialize:
209207
return logger.error('Upgrade can not be triggered because the cluster is not initialized')
210208

211209
if len(cluster.members) != self.replica_count:
212210
return logger.error('Upgrade can not be triggered because the number of replicas does not match (%s != %s)',
213211
len(cluster.members), self.replica_count)
214-
if get_global_config(cluster).is_paused:
212+
if global_config.from_cluster(cluster).is_paused:
215213
return logger.error('Upgrade can not be triggered because Patroni is in maintenance mode')
216214

217215
lock_owner = cluster.leader and cluster.leader.name

major_upgrade/pg_upgrade.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
class _PostgresqlUpgrade(Postgresql):
1313

14-
_INCOMPATIBLE_EXTENSIONS = ('amcheck_next', 'pg_repack',)
14+
_INCOMPATIBLE_EXTENSIONS = ('pgaudit',)
1515

1616
def adjust_shared_preload_libraries(self, version):
1717
from spilo_commons import adjust_extensions
@@ -58,7 +58,7 @@ def set_bin_dir(self, version):
5858

5959
@property
6060
def local_conn_kwargs(self):
61-
conn_kwargs = self.config.local_connect_kwargs
61+
conn_kwargs = self.connection_pool.conn_kwargs
6262
conn_kwargs['options'] = '-c synchronous_commit=local -c statement_timeout=0 -c search_path='
6363
conn_kwargs.pop('connect_timeout', None)
6464
return conn_kwargs
@@ -71,7 +71,6 @@ def drop_possibly_incompatible_extensions(self):
7171

7272
logger.info('Dropping extensions from the cluster which could be incompatible')
7373
conn_kwargs = self.local_conn_kwargs
74-
7574
for d in self._get_all_databases():
7675
conn_kwargs['dbname'] = d
7776
with get_connection_cursor(**conn_kwargs) as cur:
@@ -189,10 +188,10 @@ def pg_upgrade(self, check=False):
189188
def prepare_new_pgdata(self, version):
190189
from spilo_commons import append_extensions
191190

192-
locale = self.query('SHOW lc_collate').fetchone()[0]
193-
encoding = self.query('SHOW server_encoding').fetchone()[0]
191+
locale = self.query('SHOW lc_collate')[0][0]
192+
encoding = self.query('SHOW server_encoding')[0][0]
194193
initdb_config = [{'locale': locale}, {'encoding': encoding}]
195-
if self.query("SELECT current_setting('data_checksums')::bool").fetchone()[0]:
194+
if self.query("SELECT current_setting('data_checksums')::bool")[0][0]:
196195
initdb_config.append('data-checksums')
197196

198197
logger.info('initdb config: %s', initdb_config)

0 commit comments

Comments
 (0)