我正在尝试以编程方式在我的服务器上创建一个
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
。
可能是什么问题?
我也有同样的问题。我需要一个承诺。
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.