我正在尝试通过执行CREATE EXTENSION pg_trgm
将pg_trgm安装到postgres中(在ubuntu 16上使用postgres 9.5)。 pg_trgm--1.1.sql的第一行是
CREATE FUNCTION set_limit(float4)
RETURNS float4
AS 'MODULEPATH_NAME'
LANGUAGE C STRICT VOLATILE;
在psql中运行此行或以psql -f pg_trgm--1.1.sql
开始psql会引发错误ERROR: cache lookup failed for function 1
。知道为什么会这样。我也尝试过
CREATE FUNCTION add(integer, integer) RETURNS integer
AS 'select $1 + $2;'
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT;
效果很好。我是否需要安装某些东西才能使用C语言创建sql函数?我已经使用sudo apt-get install postgresql-contrib