我正在用Python编写代码,并使用psycopg2库来处理我的PostgreSQL数据库。
我的表格Orders
大约有30行。我想将整个表复制到一个名为Orders2
的结构相同的空表中。
我该怎么做?
谢谢。
答案 0 :(得分:2)
虽然您自己的答案是正确的,但有一种更好的方法,不涉及转储到文件,通常更灵活。
INSERT INTO orders2 SELECT * FROM orders
答案 1 :(得分:0)
答案是:
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_SERIALIZABLE
import sys
import cStringIO
con = psycopg2.connect(database="xxxx", user="xxxx", password="xxxx", host="localhost")
cur = con.cursor()
input = cStringIO.StringIO()
cur.copy_expert('COPY (select * from Orders) TO STDOUT', input)
input.seek(0)
cur.copy_expert('COPY Orders2 FROM STDOUT', input)
con.commit()