如何使用 psycopg2 恢复数据库转储

Son*_*han 6 psycopg2 python-3.x psql ubuntu-14.04

我正在使用 linux 命令行使用 pg_dump 命令备份 postgres 数据库。想要使用 psycopg2 来重新存储数据库。运行以下命令

cur.execute(open("db.sql", "r").read())
Run Code Online (Sandbox Code Playgroud)

它抛出错误:

syntax error at or near "\"
LINE 1890: \.
Run Code Online (Sandbox Code Playgroud)

小智 -4

如果您在命令行中进行转储,为什么不再次使用它来恢复?

在命令行中: psql dbname < dumpfile

如果您需要在 python 脚本中执行此操作,可以使用“subprocess”并触发相同的命令。