首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在psycopg2中链接多个语句?

如何在psycopg2中链接多个语句?
EN

Stack Overflow用户
提问于 2018-07-17 11:49:27
回答 1查看 10.1K关注 0票数 3

我可以使用s3将数据从一个psycopg2桶复制到一个红移表中

代码语言:javascript
复制
import psycopg2

sql = """ copy table1 from 's3://bucket/myfile.csv'
    access_key_id 'xxxx'
    secret_access_key 'xxx' DELIMITER '\t'
    timeformat 'auto'
    maxerror as 250 GZIP IGNOREHEADER 1 """

cur.execute(sql)

如何字符串多个redshift语句来执行以下三项操作:

  1. 在数据从table2移动之后,从table1创建另一个表( s3 )
  2. 将数据从table1移动到table2
  3. 滴下table1

我尝试了以下几点:

代码语言:javascript
复制
sql = """ copy table1 from 's3://bucket/myfile.csv'
    access_key_id 'xxxx'
    secret_access_key 'xxx' DELIMITER '\t'
    timeformat 'auto'
    maxerror as 250 GZIP IGNOREHEADER 1 
    create table table2 as table1
    drop table table1"""

我没有得到任何错误,但表没有创建,只有副本是从上面工作的。我在sql中做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-17 12:30:23

下面的代码通过创建一个重复的副本来执行Copy from Table1Table2。然后,删除Table1

代码语言:javascript
复制
import psycopg2

def redshift():


    conn = psycopg2.connect(dbname='***', host='******.redshift.amazonaws.com', port='5439', user='****', password='*****')
    cur = conn.cursor();

    cur.execute("create table table2 as select * from table1;")

    cur.execute(" drop table table1;")
    print("Copy executed fine!")




redshift()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51380648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档