python - 如何在 ubuntu 上转储 postgresql 数据库?

标签 python postgresql ubuntu

现在我尝试使用 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/

相关文章:

python - 在 cython 循环中创建 C++ 映射

java - 异常后保留jdbc批处理语句

linux - 无法在 Linux 中构建 ParagraphVectors

linux - 如何将 id_rsa.pub 转换为 id_rsa?

python - 如何使用 Selenium 单击弹出模式框中的按钮

python - 如何通过在 Pandas 时间序列数据框中搜索数据来添加新列

python - 来自 python,如何将整数写入(十六进制)bytea 字段

php - 为什么 php-mongo 不能在 php 5.6 和 ubuntu 16.4 上运行?

python - 在 NiFi 中取消透视 csv 并将其摄取到 sql server 中

postgresql - 从gsp中的数据库(postgresql)检索一百万个数据