我使用pg_trgm扩展名进行模糊搜索。默认阈值为0.3,如下所示:
# select show_limit();
show_limit
------------
0.3
(1 row)
我可以改为:
# select set_limit(0.1);
set_limit
-----------
0.1
(1 row)
# select show_limit();
show_limit
------------
0.1
(1 row)
但是当我重新启动会话时,阈值将重置为默认值:
# \q
$ psql -Upostgres my_db
psql (9.3.5)
Type "help" for help.
# select show_limit();
show_limit
------------
0.3
(1 row)
我想在每次启动postgresql时执行set_limit(0.1)。或者换句话说,我想将0.1设置为pg_trgm扩展的阈值的默认值。我该怎么做?
答案 0 :(得分:2)
之前有人问过:
初始设置在源中进行了硬编码。可以破解源并重新编译扩展。
解决你的评论:
您可以在psqlrc
or ~/.psqlrc
file中输入命令。一个简单明了的SELECT
命令在一个单独的行中:
SELECT set_limit(0.1)
请注意,附加模块是按按数据库安装的,而psql
可以连接到任何数据库集群和该集群中的任何数据库。连接到未安装pg_trgm
的任何数据库时,它将导致错误消息。但不会发生任何不好的事情。
另一方面,与任何其他客户端连接不会设置限制,这可能是一个陷阱。
pg_trgm
应该真正提供配置设置......