mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Move the recovery.conf based role check to a function.
This commit is contained in:
@@ -79,7 +79,7 @@ class Postgresql(object):
|
||||
|
||||
self._state = 'stopped'
|
||||
self._state_lock = Lock()
|
||||
self._role = 'replica' if os.path.exists(self.recovery_conf) else 'master'
|
||||
self._role = self.get_postgres_role_from_data_directory()
|
||||
self._role_lock = Lock()
|
||||
|
||||
if self.is_running():
|
||||
@@ -124,6 +124,9 @@ class Postgresql(object):
|
||||
break
|
||||
return local_address + ':' + self.port
|
||||
|
||||
def get_postgres_role_from_data_directory(self):
|
||||
return 'replica' if os.path.exists(self.recovery_conf) else 'master'
|
||||
|
||||
@property
|
||||
def _connect_kwargs(self):
|
||||
r = parseurl('postgres://{0}/postgres'.format(self.local_address))
|
||||
@@ -347,7 +350,7 @@ class Postgresql(object):
|
||||
logger.error('Cannot start PostgreSQL because one is already running.')
|
||||
return True
|
||||
|
||||
self.set_role('replica' if os.path.exists(self.recovery_conf) else 'master')
|
||||
self.set_role(self.get_postgres_role_from_data_directory())
|
||||
if os.path.exists(self.postmaster_pid):
|
||||
os.remove(self.postmaster_pid)
|
||||
logger.info('Removed %s', self.postmaster_pid)
|
||||
|
||||
Reference in New Issue
Block a user