我编写了一个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
但它没有发现任何关系。出了什么问题?
答案 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()