mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 20:35:19 +00:00
fix: resolve Azure PostgreSQL pgvector extension permission issue
Replace direct CREATE EXTENSION commands with conditional checks to avoid permission errors on Azure PostgreSQL Flexible Server where only azure_pg_admin members can create extensions. - Check pg_extension table before attempting to create vector extension - Apply same fix to pgcrypto extension for consistency - Allows following least privilege principle for database users Fixes #12453
This commit is contained in:
parent
438e5d966f
commit
1a42e96a3b
1 changed files with 18 additions and 2 deletions
|
|
@ -111,11 +111,27 @@ 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(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue