PostgreSQL используется Python в AWS Lambda с помощью psycopg2.
Эта функция:
cur.execute("INSERT INTO table (column1, column2, column3) VALUES ('test1', 'test2', 'test3');")
Не добавляет ни одной строки в базу данных.Psycopg2 не выдает ошибку.PostgreSQL регистрирует оператор без ошибок.ТЕМ НЕ МЕНИЕ!Существует четвертый столбец, который представляет собой автоматически увеличивающийся идентификатор.Последовательность, используемая для отслеживания идентификатора, увеличивается на единицу, хотя строка не добавляется.(Уже странно)
Если тот же оператор отправляется любым другим способом (командная строка, pgAdmin, Adminer), он работает.
Я не имею ни малейшего представления о том, что происходит.
РЕДАКТИРОВАТЬ: полный код:
def db():
with open('configEC2.json') as json_data_file:
POSTGRES = json.load(json_data_file)
db = psycopg2.connect( host=POSTGRES["sql"]["host"], user=POSTGRES["sql"]["user"], password=POSTGRES["sql"]["passwd"], dbname=POSTGRES["sql"]["db"] )
return db
def dbSetup():
dbR = db()
cur = dbR.cursor()
return cur
cur = dbSetup()
cur.execute("INSERT INTO table (column1, column2, column3) VALUES ('test1', 'test2', 'test3');")
cur.close()