使用 SQLAlchemy 一般检查服务器数据库版本

问题描述 投票:0回答:1

我在互联网和一些人工智能机器人中搜索了在我看来非常基本的功能,但没有结果。检查服务器数据库版本的 SQLAlchemy 命令是什么?

我知道我可以执行原始 SQL 查询,但确切的语法因 SQL 变体而异。两个例子:

  1. Postgres:
    SELECT version()
  2. SQLite:
    SELECT get_version()

期望的回应:

PostgreSQL 15.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit
...or...
PostgreSQL 15.7

我搜索了整个 SQLAlchemy 1.4 和 2.0 文档但找不到它。肯定有办法吗?

sqlalchemy flask-sqlalchemy
1个回答
0
投票

最接近您想要的是方言的 server_version_info 属性,它以元组的形式提供版本信息。引擎必须连接才能填充此属性。

>>> import sqlalchemy as sa
>>> engine = sa.create_engine('postgresql+psycopg2:///so')
>>> with engine.connect() as conn:
...     _ = conn.execute(sa.text('select 1 where 1 = 2'))
...     
>>> engine.dialect.server_version_info
(17, 2)
>>> engine = sa.create_engine('sqlite://')
>>> with engine.connect() as conn:
...     _ = conn.execute(sa.text('select 1 where 1 = 2'))
...     
>>> engine.dialect.server_version_info
(3, 40, 1)
© www.soinside.com 2019 - 2024. All rights reserved.