我想使用Python代码备份数据库。我想备份一些相关数据的表。如何备份以及如何使用“SELECT”语句选择所需的表?
e.g.
我想获取一些表从 2014-05-01 到 2014-05-10 的数据,并将结果输出为 .sql 扩展文件
如何使用 python 代码获得这种格式?
如果你不介意的话,请解释一下。
谢谢。
使用 psycopg2 建立数据连接。文档中有很多示例:
http://initd.org/psycopg/ http://initd.org/psycopg/
配置数据源后,迭代“SELECT”语句的结果,构建一个INSERT INTO
语句通过将结果集打印到文件中。基本上是一些逆逻辑。
这样,如果时间到了并且您需要使用备份文件,您只需运行 SQL 文件即可将数据插入回...
Example:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)