在Python中使用psycopg2库与PostgreSQL数据库交互时,插入数据后,需要提交事务并正确关闭连接。以下是一个示例代码:
import psycopg2
# 连接参数
conn_params = {
"dbname": "your_db",
"user": "your_user",
"password": "your_password",
"host": "localhost"
}
# 创建连接
conn = psycopg2.connect(**conn_params)
# 创建游标
cursor = conn.cursor()
try:
# 插入数据的SQL命令
insert_query = """INSERT INTO your_table (column1, column2) VALUES (%s, %s)"""
record_to_insert = ("value1", "value2")
# 执行插入命令
cursor.execute(insert_query, record_to_insert)
# 提交事务
conn.commit()
# 关闭游标
cursor.close()
# 可以选择再打开一个新的游标进行查询等操作
cursor = conn.cursor()
# cursor.execute("SELECT * FROM your_table")
# results = cursor.fetchall()
# print(results)
except psycopg2.Error as e:
print("Error:", e)
conn.rollback() # 发生错误时回滚事务
finally:
# 关闭连接
conn.close()
在这个例子中,我们首先创建了连接和游标,然后执行了一条插入数据的SQL命令。插入完成后,我们提交了事务。在结束时,我们关闭了游标并关闭了连接。如果在操作过程中发生异常,我们会回滚事务并关闭连接。这是一个管理数据库事务和资源关闭的良好实践。