我想使用 Python 代码备份数据库。我想备份一些相关数据的表。如何备份以及如何使用“SELECT”语句选择所需的表?
例如
我想获取一些表从2014-05-01到2014-05-10的数据,并将这个结果输出为.sql扩展文件
如何使用 python 代码获取此格式? 如果你不介意,请解释一下。 谢谢。
最佳答案
使用psycopg2建立数据连接。文档中有很多示例:
配置数据源后,通过将结果集打印到文件来循环访问“SELECT”语句的结果,构建 INSERT INTO
语句。基本上是一些反向逻辑。
这样,如果时间到了,您需要使用备份文件,您只需运行 SQL 文件,将数据插入...
例子:
import psycopg2
import sys
con = None
try:
con = psycopg2.connect(database='local', user='local', password='local',port='1970')
cur = con.cursor()
cur.execute('SELECT x FROM t')
f = open('test.sql', 'w')
for row in cur:
f.write("insert into t values (" + str(row) + ");")
except psycopg2.DatabaseError, e:
print 'Error %s' % e
sys.exit(1)
finally:
if con:
con.close()
然后恢复:
psql <dbname> <username> < test.sql
关于python - 使用 Python 备份 Postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23732900/