找不到使用python程序创建的postgres表

时间:2018-05-08 09:18:27

标签: python-3.x postgresql

我编写了一个python程序来创建一个postgres表并用一些数据填充它。这是下面的代码

conn = psycopg2.connect(database="metrics", user="souvik", password="*******", host="localhost", port="5432")
cur = conn.cursor()

cur.execute("CREATE TABLE IF NOT EXISTS device_mse(date date,metric character varying(255),device character varying(255),mse double precision);")
insert_statement = "INSERT INTO device_mse VALUES (%s,%s,%s,%s);"
cur.executemany(insert_statement, result)

程序运行成功并且不会抛出任何错误。但是当我使用metrics在数据库\dt中搜索表时,在postgres命令行中,它不会显示。< / p>

我甚至试过/d+ device_mse但它没有发现任何关系。出了什么问题?

1 个答案:

答案 0 :(得分:0)

正如@a_horse_with_no_name指出的那样,我忘了在程序中添加一个commit语句,因为从来没有创建过该表。

更新了代码

conn = psycopg2.connect(database="metrics", user="souvik", password="*******", host="localhost", port="5432")
cur = conn.cursor()

cur.execute("CREATE TABLE IF NOT EXISTS device_mse(date date,metric character varying(255),device character varying(255),mse double precision);")
insert_statement = "INSERT INTO device_mse VALUES (%s,%s,%s,%s);"
cur.executemany(insert_statement, result)
cur.commit()