我正在尝试通过执行CREATE EXTENSION pg_trgm
. pg_trgm--1.1.sql 的第一个可执行行是
CREATE FUNCTION set_limit(float4)
RETURNS float4
AS 'MODULEPATH_NAME'
LANGUAGE C STRICT VOLATILE;
psql -f pg_trgm--1.1.sql
在 psql 中运行这一行或使用throws error启动 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 函数?我已经为 postgres 安装了 contrib 使用sudo apt-get install postgresql-contrib