python script через bash command, psycopg
Нужна помощь, есть необходимость использовать python код (смена пароля пользователя бд), через подключение к удаленному хосту.
Решил задачу таким способом:
con_to_host=fabric.Connection(host_ip, user=host_user)
command = f'''python -c "import psycopg2; conn = psycopg2.connect(host='{db_ip}', dbname='{db_name}', user='{db_login}', password='{cur_pass}'); cur=conn.cursor(); cur.execute('ALTER USER \"{db_login}\" WITH PASSWORD %s', ('{new_pass}', )); conn.commit(); cur.close(); conn.close()"'''
con_to_host.run(command)
Но столкнулся с проблемой, в случае логина бд в разном регистре, получаю ошибку psycopg2.errors.UndefinedObject: role "testlogin" does not exist. После заключение логина в двойные кавычки проблема не решилась.