diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-09 21:59:43 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-09 22:37:24 -0500 |
commit | 449389a45f358300ba95f7d03c7b94b64703e31a (patch) | |
tree | fe253f1633323842d2aecd9a9dcac0cae983d269 /lib/sqlalchemy/dialects/postgresql/asyncpg.py | |
parent | 491e8507fa46e4312302419149d180769c84696e (diff) | |
download | sqlalchemy-449389a45f358300ba95f7d03c7b94b64703e31a.tar.gz |
doc fixes
* clarify merge behavior for non-present attributes,
references #7687
* fix AsyncSession in async_scoped_session documentation,
name the scoped session AsyncScopedSession, fixes: #7671
* Use non-deprecated execute() style in sqltypes JSON examples,
fixes: #7633
* Add note regarding mitigation for
https://github.com/MagicStack/asyncpg/issues/727,
fixes #7245
Fixes: #7671
Fixes: #7633
Fixes: #7245
Change-Id: Ic40b4378ca321367a912864f4eddfdd9714fe217
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/asyncpg.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/asyncpg.py b/lib/sqlalchemy/dialects/postgresql/asyncpg.py index 7dbcfa357..4c3c47ba6 100644 --- a/lib/sqlalchemy/dialects/postgresql/asyncpg.py +++ b/lib/sqlalchemy/dialects/postgresql/asyncpg.py @@ -96,6 +96,25 @@ To disable the prepared statement cache, use a value of zero:: stale, nor can it retry the statement as the PostgreSQL transaction is invalidated when these errors occur. +Disabling the PostgreSQL JIT to improve ENUM datatype handling +--------------------------------------------------------------- + +Asyncpg has an `issue <https://github.com/MagicStack/asyncpg/issues/727>`_ when +using PostgreSQL ENUM datatypes, where upon the creation of new database +connections, an expensive query may be emitted in order to retrieve metadata +regarding custom types which has been shown to negatively affect performance. +To mitigate this issue, the PostgreSQL "jit" setting may be disabled from the +client using this setting passed to :func:`_asyncio.create_async_engine`:: + + engine = create_async_engine( + "postgresql+asyncpg://user:password@localhost/tmp", + connect_args={"server_settings": {"jit": "off"}}, + ) + +.. seealso:: + + https://github.com/MagicStack/asyncpg/issues/727 + """ # noqa import collections |