Merge pull request #16606 from Rain6435/fix/azure-postgresql-pgvector-permissions

fix: resolve Azure PostgreSQL pgvector extension permission issue
This commit is contained in:
Tim Jaeryang Baek
2025-08-15 00:59:04 +04:00
committed by GitHub

View File

@@ -111,11 +111,35 @@ class PgvectorClient(VectorDBBase):
try: try:
# Ensure the pgvector extension is available # Ensure the pgvector extension is available
self.session.execute(text("CREATE EXTENSION IF NOT EXISTS vector;")) # Use a conditional check to avoid permission issues on Azure PostgreSQL
self.session.execute(
text(
"""
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'vector') THEN
CREATE EXTENSION IF NOT EXISTS vector;
END IF;
END $$;
"""
)
)
if PGVECTOR_PGCRYPTO: if PGVECTOR_PGCRYPTO:
# Ensure the pgcrypto extension is available for encryption # Ensure the pgcrypto extension is available for encryption
self.session.execute(text("CREATE EXTENSION IF NOT EXISTS pgcrypto;")) # Use a conditional check to avoid permission issues on Azure PostgreSQL
self.session.execute(
text(
"""
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pgcrypto') THEN
CREATE EXTENSION IF NOT EXISTS pgcrypto;
END IF;
END $$;
"""
)
)
if not PGVECTOR_PGCRYPTO_KEY: if not PGVECTOR_PGCRYPTO_KEY:
raise ValueError( raise ValueError(