将 `GETDATE()` Redshift 函数与 psycopg2 execute_values 结合使用

Using `GETDATE()` Redshift function with psycopg2 execute_values

是否可以在插入多行时将 Redshift 函数 GETDATE()psycopg2.extras.execute_values 一起使用?

df = pd.DataFrame(data={
            'ExampleID' : list(range(1,6)),
            'NumericField' : list(range(44,49)),
            'UpdateTime' : list('GETDATE()' for i in range(5))
            })

conn = psycopg2.connect(dbname=database, host=host, port=5439, user=username, password=password)
cursor = conn.cursor()
v = df.to_records(index=False).tolist()

q = sql.SQL('INSERT INTO tblexample (ExampleID, NumericField, UpdateTime) VALUES %s')
execute_values(cursor, q.as_string(cursor), v)
conn.commit()

不幸的是,这引发了一个异常: psycopg2.DataError: invalid input syntax for type timestamp: "GETDATE()"

意识到由于 GETDATE() 存在于 Redshift 而不是 Postgresql,因此在这种情况下它不太可能工作。相反,使用 str(datetime.datetime.now()).