AWS RDS Postgres giving error while setting “hnsw.ef_search” parameter on DB or User Level

0

Hello everyone,

I'm currently utilizing the pgvector extension for storing vector embeddings in a PostgreSQL database. Additionally, I've implemented the hnsw indexing algorithm for indexing these vectors. My goal is to set the ef_search parameter either at the user level or the database level. However, when I attempt to execute the SQL queries for this purpose, PostgreSQL returns an error stating “permission denied to set parameter 'hnsw.ef_search'”, even though I am using the postgres super-user account.

Here are the queries I've tried:

ALTER DATABASE mydb SET hnsw.ef_search = 500;

And

ALTER USER myuser SET hnsw.ef_search = 500;

Some additional information:

  1. Attempting to set a random named variable results in the error: “ERROR: unrecognized configuration parameter 'axax'”.
  2. Trying to set another valid variable, updates successfully at the database level.

Any insights or assistance on resolving this issue would be greatly appreciated.

Thank you.

已提問 5 個月前檢視次數 252 次
1 個回答
0

Hi,

I don't think that you need the preliminary ALTER, hnsw.ef_search seems to be global

So, did you try SET hnsw.ef_search = 500; by itself?

Best,

Didier

profile pictureAWS
專家
已回答 5 個月前
  • Hello Thanks for reply.

    When I set hnsw.ef_search using SET hnsw.ef_search = 500, It set for that session only and when again connect to db I need to set it again.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南