SET
sqlalchemy からステートメントを実行しようとしています。
>>> from sqlalchemy import create_engine
>>> c = create_engine('postgres://myuser@myremoteserver/mydb?keepalives_idle=4&keepalives_interval=1&keepalives_count=5')
>>> c.execute('SET statement_timeout=1000')
<sqlalchemy.engine.base.ResultProxy object at 0xb7b250>
オブジェクトを返しResultProxy
ます。しかし、値statement_timeout
は設定されていません。
>>> c.execute('SHOW statement_timeout').scalar()
'0'
試しResultProxy.scalar
てみると、エラーが発生します。
>>> c.execute('SET statement_timeout=1000').scalar()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py", line 1676, in scalar
self.connection._handle_dbapi_exception(e, None, None, self.cursor, self.context)
File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py", line 923, in _handle_dbapi_exception
self.invalidate(e)
File "/usr/lib/python2.6/site-packages/sqlalchemy/engine/base.py", line 633, in invalidate
raise exc.InvalidRequestError("This Connection is closed")
sqlalchemy.exc.InvalidRequestError: This Connection is closed
この変数の値を設定するには?