docs: def controldata(self):
          """ return the contents of pg_controldata, or non-True value if pg_controldata call failed """
          result = {}
          # Don't try to call pg_controldata during backup restore
          if self._version_file_exists() and self.state != 'creating replica':
              try:
                  env = {'LANG': 'C', 'LC_ALL': 'C', 'PATH': os.getenv('PATH')}
                  if os.getenv('SYSTEMROOT') is not None:
                      env['SYSTEMROOT'] = os.getenv('SYSTEMROOT')
                  data = subprocess.check_output([self._pgcommand('pg_controldata'), self._data_dir], env=env)
                  if data:
                      data = data.decode('utf-8').splitlines()
                      # pg_controldata output depends on major verion. Some of parameters are prefixed by 'Current '
                      result = {l.split(':')[0].replace('Current ', '', 1): l.split(':', 1)[1].strip() for l in data
                                if l and ':' in l}
              except subprocess.CalledProcessError:
                  logger.exception("Error when calling pg_controldata")
          return result