REINDEX DATABASE无法在事务块内运行

时间:2018-08-17 07:05:53

标签: python postgresql sqlalchemy postgresql-9.4

我正在使用旧版本的sqlalchemy(0.8),并且需要使用sqlalchemy api在 PostgreSQLql 9.4 上执行“ !/tmp/.keep”。

最初我尝试过:

REINDEX DATABASE <dbname>

但是出现错误“ conn = pg_db.connect() conn.execute('REINDEX DATABASE sg2') conn.close() ”。

我在互联网上阅读并尝试了其他更改:

REINDEX DATABASE cannot run inside a transaction block

(我也尝试过使用autocommit = False)。

engine.execute(text("REINDEX DATABASE sg2").execution_options(autocommit=True))

我总是有相同的错误。

我还尝试了以下操作:

conn = engine.raw_connection()  
cursor = conn.cursor()
cursor.execute('REINDEX DATABASE sg2')
cursor.close()

但是我得到了错误  Isolation_level的值“ AUTOCOMMIT”无效。 Postgresql的有效隔离级别为:REPEATABLE READ,READ COMMITTED,READ UNCOMMITTED,SERIALIZABLE

我在这里想念什么?感谢您的帮助。

0 个答案:

没有答案