【发布时间】:2017-12-04 07:18:52
【问题描述】:
我目前正在将记录批量插入 Redshift (Postgres) 数据库。我正在使用 psycopg2.extras.execute_values 方法,正如我所读到的那样,这是使用以下代码构建包含要插入的数据的元组列表的最快方法
dataList = []
dataList.append(tuple(data.values()))
insert_query = "insert into " + tableName + " ( " + insert + ") VALUES %s"
try:
psycopg2.extras.execute_values(cur, insert_query, dataList, template=None, page_size=100)
con.commit()
这很好用,但是我需要从数据库的标识列中取回 id。我已经搜索过这种方法是否可行,但找不到关于 execute_values 方法是否可行的确切答案?
如果没有,实现此批量插入并检索 id 的最佳方法是什么?
【问题讨论】:
标签: python postgresql amazon-redshift psycopg2 batch-insert