文章目录
- 环境
- 症状
- 问题原因
- 解决方案
环境
系统平台:N/A
版本:4.3.4.6
症状
使用 set_secure_param 等函数时报错该函数不存在:
highgo=>selectset_secure_param('hg_ShowLoginInfo','off');错误: 函数 set_secure_param(unknown, unknown) 不存在 LINE 1: select set_secure_param('hg_ShowLoginInfo','off'); ^ HINT: 没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换. highgo=> select show_secure_param(); 错误: 函数 show_secure_param() 不存在 LINE 1: select show_secure_param(); ^ HINT: 没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换.问题原因
search_path参数被修改,public选项被删除。
[root@localhostdata]# psql -U syssso -d highgoPasswordforusersyssso: 注意:-------------------------------------------LoginUser: syssso Logintime:2019-11-2810:25:00.636237+08Login Address:[local]LastLoginStatus: SUCCESS Login Failures:0Valied Until: infinity-------------------------------------------psql(4.3.4.6)Type"help"forhelp.highgo=>showsearch_path;search_path-------------"$user"(1row)解决方案
修改search_path,添加public如下:
search_path='"$user",public'[root@localhostdata]# psql -U syssso -d highgoPasswordforusersyssso: 注意:-------------------------------------------LoginUser: syssso Logintime:2019-11-2810:24:08.47413+08Login Address:[local]LastLoginStatus: FAILED Login Failures:1Valied Until: infinity-------------------------------------------psql(4.3.4.6)Type"help"forhelp.highgo=>selectshow_secure_param();show_secure_param-----------------------------Securelevel=table,+hg_SepOfPowers=on,+hg_MAControl=on,+hg_RowSecure=off,+hg_PwdValidUntil=5,+hg_PwdErrorLock=5,+hg_ShowLoginInfo=on,+hg_ClientNoInput=30min,+hg_PwdRule=on,+(1row)highgo=>selectset_secure_param('hg_ShowLoginInfo','off');set_secure_param---------------------------------setconfiguration successfully.(1row)至此可正常使用审计与安全相关操作函数。