Я хочу создать резервную копию моей базы данных postgres через S SH, подключенную к Windows Серверу 2019. Для этого я использую библиотеку Paramiko Python, но, к сожалению, sql - файл не содержит никаких данных (размер файла равен 0, и файлы не могут быть удалены, поскольку они все еще открыты в cmd). Таким образом, я подозреваю, что выполнение моей команды еще не закончено ... Это моя функция:
def ssh_server(server, username, password, pg_pass, ps_user, database):
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=server, username=username, password=password)
stdin_2, stdout_2, stderr_2 = client.exec_command("SET PGPASSWORD=secret_pw")
stdin, stdout, stderr = client.exec_command(
"pg_dump -U {} {} > kp_{}.sql\n".format(
ps_user, database, ts_str), get_pty=True)
client.close()
Кстати: выполнение команд в PuTTY дает желаемый результат. У кого-нибудь есть идеи, как решить эту проблему? Спасибо за вашу помощь!