sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Es posible emitir un VACUUM ANALYZE desde psycopg2 o sqlalchemy para PostgreSQL?

Esta es una falla en Python DB-API:inicia una transacción por usted. No debería hacer eso; si y cuándo iniciar una transacción debe depender del programador. Las API centrales de bajo nivel como esta no deberían cuidar al desarrollador y hacer cosas como iniciar transacciones a nuestras espaldas. Somos grandes, podemos iniciar las transacciones nosotros mismos, gracias.

Con psycopg2, puede deshabilitar este desafortunado comportamiento con una extensión API:ejecute connection.autocommit = True . Lamentablemente, no existe una API estándar para esto, por lo que debe depender de extensiones no estándar para emitir comandos que deben ejecutarse fuera de una transacción.

No hay lenguaje sin verrugas, y esta es una de Python. A mí también me ha mordido esto antes.