现在我尝试使用 python 备份 postgresql 数据库。
import gzip
from sh import pg_dump
def dump_database():
with gzip.open('ticketing.sql', 'wb') as f:
pg_dump('-h', 'localhost', '-U', 'postgres', 'mydatabase', _out=f)
dump_database()
它在我的 macbook 上正常工作,但是当我尝试在 ubuntu 服务器上运行此代码时,它会出现这样的错误。pg_dump: [archiver (db)] connection to database "mydatabase" failed: fe_sendauth: no password supplied
那么为什么它不能在 ubuntu 服务器上运行以及如何解决这个问题。假设我的密码 =
password123
最佳答案
在 Python 脚本中为 PGPASSWORD 设置环境变量为:-
import os
os.environ['PGPASSWORD'] = 'password123'
或者您可以在 pg_dump 将作为引用运行的帐户的主目录中创建一个 .pgpass 文件:https://www.postgresql.org/docs/current/libpq-pgpass.html
关于python - 如何在 ubuntu 上转储 postgresql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63011373/