CREATE EXTENSION 在 SQLAlchemy 中默默失败

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

我正在尝试以编程方式在我的服务器上创建一个

pgvector
扩展,但
sqlalchemy
但执行指令会默默失败。

这是代码:

from sqlalchemy import create_engine, text
engine = create_engine(f"postgresql+psycopg2://{cfg.DB.USERNAME}:{cfg.DB.PASSWORD}@{cfg.DB.URL}/{cfg.DB.NAME}")
with engine.connect() as con:
    con.execute(text("CREATE EXTENSION IF NOT EXISTS vector"))

此代码不会引发错误,但不会创建扩展。

我检查了连接是否正确,因为其他 SQL 查询似乎可以工作。

如果我通过

psql
执行相同的 SQL,它会成功创建扩展。

数据库是 AWS Aurora Serverless V2 - PostgreSQL 风格。

sqlalchemy==2.0.25
PostgreSQL 15.4 on aarch64-unknown-linux-gnu

可能是什么问题?

python postgresql sqlalchemy amazon-rds
1个回答
0
投票

我也有同样的问题。我需要一个承诺。

from sqlalchemy import create_engine, text
engine = create_engine(f"postgresql+psycopg2://{cfg.DB.USERNAME}:{cfg.DB.PASSWORD}@{cfg.DB.URL}/{cfg.DB.NAME}")
with engine.connect() as con:
    con.execute(text("CREATE EXTENSION IF NOT EXISTS vector"))
    con.commit() # <- This.  
© www.soinside.com 2019 - 2024. All rights reserved.