My insert has a "returning clause," I don't think execute batch supports that. -- Gerard Weatherby| Application Architect NMRbox | Department of Molecular Biology and Biophysics | UConn Health 263 Farmington Avenue, Farmington, CT 06030-6406 Phone: 860 679 8484 uchc.edu ________________________________________ From: Adrian Klaver <adrian.klaver@xxxxxxxxxxx> Sent: Tuesday, July 9, 2019 4:25 PM To: Weatherby,Gerard; pgsql-general@xxxxxxxxxxxxxxxxxxxx Subject: Re: execute_values On 7/9/19 11:04 AM, Weatherby,Gerard wrote: > Can I use pyscopy2.extras.execute_values with a prepared statement? I don't think so as you cannot pass in VALUES(): cur.execute('prepare pt(integer, varchar, boolean) AS INSERT INTO prepare_test values ($1, $2, $3)') execute_values(cur, 'EXECUTE pt(%s)', [(2, 'test', 'f'),]) SyntaxError: wrong number of parameters for prepared statement "pt" DETAIL: Expected 3 parameters but got 1. execute_batch works though: execute_batch(cur, 'EXECUTE pt(%s, %s, %s)', [(2, 'test', 'f'), (3, 'dog', 't')]) > > > -- > *Gerard Weatherby*| Application Architect > NMRbox | Department of Molecular Biology and Biophysics | UConn Health > 263 Farmington Avenue, Farmington, CT 06030-6406 > Phone: 860 679 8484 > uchc.edu -- Adrian Klaver adrian.klaver@xxxxxxxxxxx