为什么我插入到我的 AWS Postgres 数据库(使用 psycopg2)的任何行立即变成死元组?

Why does any row I insert into my AWS Postgres database (with psycopg2) immediately become a dead tuple?

将 psycopg2 连接到 AWS Postgres 服务器并插入一行时出现问题。 下面是一个测试脚本,它尝试连接到服务器并插入一行。当我在 pgAdmin 中使用它时,测试查询有效。即运行s成功,可以选择该行。

当我 运行 python 脚本时,服务器显示已建立连接。没有异常被抛出。我什至可以尝试插入大约一百行,并且流量会出现很大的峰值。然而在 table.

中什么也找不到
import psycopg2
from getpass import getpass
​
# connect to database
try:
    connection = psycopg2.connect(
        dbname    = "postgres",
        user      = "username",
        password  = getpass(),
        host      = "blahblah.us-east-1.rds.amazonaws.com",
        port      = '5432'
    )
    print("connected!")
except:
    print("oops")
​
#cursor object
cursor_boi = connection.cursor()
​
# simple test query
test_query = """INSERT INTO reviews (review_id, username, movie_id, review_date, review_text, review_title, user_rating, helpful_num, helpful_denom) 
VALUES (1, 'myname', 12345678, '2016-06-23', 'I love this movie!', 'Me happy', 5, 6, 12 )"""
​
# execute query
try:
    cursor_boi.execute(test_query)
    print(test_query)
except:
    print("oopsie!")
​
# close connection
if(connection):
    cursor_boi.close()
    connection.close()

我的 "reviews" table 的数据库统计报告如下:

插入的元组:257

已删除元组:1

死元组:8

上次自动清理:2019-12-13 15:49:20.369715+00

每次我 运行 Python 脚本时,Dead Tuples 字段都会递增。所以看起来我插入的每条记录都立即变成了一个死元组。为什么会这样,我该如何阻止它?我想记录正在被覆盖,但如果是这样,它们不会被任何东西取代。

已解决。我忘记提交与 connection.commit() 的连接。谢谢@roganjosh。