psycopg2 を使用して Python で PostgreSQL に接続していますが、接続プールを使用したいと考えています。
INSERT クエリを実行するときに commit() と rollback() の代わりに何をすべきかわかりません。
db = pool.SimpleConnectionPool(1, 10,host=conf_hostname,database=conf_dbname,user=conf_dbuser,password=conf_dbpass,port=conf_dbport)
# Get Cursor
@contextmanager
def get_cursor():
con = db.getconn()
try:
yield con.cursor()
finally:
db.putconn(con)
with get_cursor() as cursor:
cursor.execute("INSERT INTO table (fields) VALUES (values) RETURNING id")
id = cursor.fetchone()
commit() なしでは、挿入されたレコードの ID を取得できません。