On Wed, Mar 03, 2021 at 03:23:28PM -0800, Adrian Klaver wrote:
On 3/3/21 1:51 PM, Hans Ginzel wrote: You need to do something like: cur.execute(sql.SQL("INSERT INTO test_default VALUES ({})").format(DEFAULT))
Formating values into SQL statement is done by the execute(), isn't it? I like the solution from https://www.postgresql-archive.org/Inserting-default-values-into-execute-values-td6130148.html https://www.postgresql-archive.org/Inserting-default-values-into-execute-values-td6130148.html class Default(object): """Set up DEFAULT value for a field. When doing INSERT or UPDATE in Postgres one can use DEFAULT/default as the value to have the server use the default set on the field. """ def __conform__(self, proto): if proto is psycopg2.extensions.ISQLQuote: return self def getquoted(self): return 'DEFAULT' DEFAULT = Default() cursor.execute("INSERT INTO test_default VALUES (%s)", (DEFAULT,)) Could this be added to the psycopg2 code, please? H.