posixRename(fPath, tPath, addListeners = true) {
    let listeners;
    return new Promise((resolve, reject) => {
      if (addListeners) {
        listeners = addTempListeners(this, 'posixRename', reject);
      }
      if (haveConnection(this, 'posixRename', reject)) {
        this.sftp.ext_openssh_rename(fPath, tPath, (err) => {
          if (err) {
            reject(
              this.fmtError(
                `${err.message} From: ${fPath} To: ${tPath}`,
                '_posixRename',
                err.code,
              ),
            );
          }
          resolve(`Successful POSIX rename ${fPath} to ${tPath}`);
        });
      }
    }).finally(() => {
      removeTempListeners(this, listeners, 'posixRename');
    });
  }
@async

Rename a file on the remote SFTP repository using the SSH extension
posix-rename@openssh.com using POSIX atomic rename. (Introduced in SSH 4.8)

@param {string} fromPath - path to the file to be renamed.
@param {string} toPath - path  the new name.
@param {Boolean} addListeners - (Optional) if true, add listeners. Default true

@return {Promise<String>}