如何在 Google Cloud SQL PostgreSQL 实例中配置 pg_trgm 相似度阈值参数
How to configure pg_trgm similarity threshold parameters in a Google Cloud SQL PostgreSQL instance
我在 Cloud SQL 中有一个 Postgres 数据库,想利用 pg_trgm
扩展来进行相似性搜索。但是,默认阈值参数在我的用例中不够敏感,因此应该更改它们。
问题是云 SQL 不为 pg_trgm.similarity_threshold
或 pg_trgm.word_similarity_threshold
提供 database flags 并且数据库用户无权更改用户或数据库:
postgres=> ALTER ROLE postgres SET pg_trgm.similarity_threshold = 0.1;
ERROR: permission denied to set parameter "pg_trgm.similarity_threshold"
postgres=> ALTER DATABASE postgres SET pg_trgm.similarity_threshold = 0.1;
ERROR: permission denied to set parameter "pg_trgm.similarity_threshold"
还有其他方法可以改变这些参数吗?
你能做到直截了当吗SET pg_trgm.similarity_threshold = 0.1;
?你必须在每个会话中重复它,所以也许将它合并到你的连接子中。
对于 similarity_threshold,您可以使用 set_limit 功能,除非 Google 也禁用了该功能。不过,您还必须在每个会话中以这种方式设置它。但是,没有其他方法可以设置 word_similarity_threshold,除非 Google 发明了一个。
我在 Cloud SQL 中有一个 Postgres 数据库,想利用 pg_trgm
扩展来进行相似性搜索。但是,默认阈值参数在我的用例中不够敏感,因此应该更改它们。
问题是云 SQL 不为 pg_trgm.similarity_threshold
或 pg_trgm.word_similarity_threshold
提供 database flags 并且数据库用户无权更改用户或数据库:
postgres=> ALTER ROLE postgres SET pg_trgm.similarity_threshold = 0.1;
ERROR: permission denied to set parameter "pg_trgm.similarity_threshold"
postgres=> ALTER DATABASE postgres SET pg_trgm.similarity_threshold = 0.1;
ERROR: permission denied to set parameter "pg_trgm.similarity_threshold"
还有其他方法可以改变这些参数吗?
你能做到直截了当吗SET pg_trgm.similarity_threshold = 0.1;
?你必须在每个会话中重复它,所以也许将它合并到你的连接子中。
对于 similarity_threshold,您可以使用 set_limit 功能,除非 Google 也禁用了该功能。不过,您还必须在每个会话中以这种方式设置它。但是,没有其他方法可以设置 word_similarity_threshold,除非 Google 发明了一个。