sql >> Databasteknik >  >> RDS >> PostgreSQL

Är det möjligt att utfärda en VACUUM ANALYZE från psycopg2 eller sqlalchemy för PostgreSQL?

Detta är ett fel i Python DB-API:det startar en transaktion åt dig. Det borde den inte göra; om och när en transaktion ska startas bör vara upp till programmeraren. Lågnivå, kärn-API:er som denna borde inte vara barnvakt för utvecklaren och göra saker som att starta transaktioner bakom vår rygg. Vi är stora pojkar – vi kan starta transaktioner själva, tack.

Med psycopg2 kan du inaktivera detta olyckliga beteende med ett API-tillägg:kör connection.autocommit = True . Det finns tyvärr inget standard-API för detta, så du måste vara beroende av icke-standardiserade tillägg för att utfärda kommandon som måste köras utanför en transaktion.

Inget språk är utan sina vårtor, och det här är ett av Pythons. Jag har blivit biten av det här förut också.



  1. Gå med i ett bord för sig själv i Oracle

  2. Hur visar jag hela innehållet i LOB-kolumnen i Oracle SQL*Plus?

  3. Heroku Postgres DB långsammare efter uppgradering

  4. Minimera SQL-frågor med hjälp av koppling med en-till-många-relation