sql >> Database teknologi >  >> RDS >> PostgreSQL

Er det muligt at udstede en VACUUM ANALYZE fra psycopg2 eller sqlalchemy til PostgreSQL?

Dette er en fejl i Python DB-API:det starter en transaktion for dig. Det burde den ikke gøre; om og hvornår en transaktion skal startes, bør være op til programmøren. Kerne-API'er på lavt niveau som denne bør ikke passe udvikleren og gøre ting som at starte transaktioner bag vores ryg. Vi er store drenge – vi kan selv starte transaktioner, tak.

Med psycopg2 kan du deaktivere denne uheldige adfærd med en API-udvidelse:kør connection.autocommit = True . Der er desværre ingen standard API til dette, så du skal være afhængig af ikke-standardudvidelser for at udstede kommandoer, der skal udføres uden for en transaktion.

Intet sprog er uden sine vorter, og dette er et af Pythons. Jeg er også blevet bidt af det her før.



  1. Opsæt database og opret en skrivebeskyttet bruger i AWS Redshift og Mysql

  2. Forårsaget af:java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver

  3. Hvordan kan jeg flette disse mysql-udsagn

  4. Mysql arbejder med kommasepareret liste - Junction-tabel