psycopg2如果不存在则创建表并返回存在结果

时间:2017-12-20 18:47:46

标签: python postgresql psycopg2

我有一个问题,弄清楚我如何使用psycopg2创建一个表,使用IF NOT EXISTS语句,并获得NOT EXISTS结果

问题是我正在创建一个表,并在创建后运行一些CREATE INDEX / UNIQUE CONSTRAINT。如果表已存在 - 则无需创建索引或约束

2 个答案:

答案 0 :(得分:1)

psycopg2连接实例具有名为通知的属性

我所做的是:

notice_msg = 'NOTICE:  relation \"{}\" already exists, skipping\n'.format(tbl_name)
if notice_msg not in self.conn.notices:
        create_index()
        create_unique_constraint()

答案 1 :(得分:0)

最终我最终添加了AUTOCOMMIT = true

这是我可以确保所有工人在创建表时查看的唯一方法