【发布时间】:2020-01-24 18:05:47
【问题描述】:
我正在尝试为 Postgres 安装一个自定义的小型扩展,只是为了测试,但我做不到。
我的步骤: 1.- 创建 *.sql 文件 (hola.sql):
CREATE OR REPLACE FUNCTION di_hola()
RETURNS void AS
$BODY$
BEGIN
RAISE NOTICE 'Hola';
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION di_hola()
OWNER TO postgres;
2.- 创建控制文件(hola.control):
# hola extension
comment = 'Funcion para decir hola'
default_version = '1.0'
relocatable = false
3.- 生成文件:
EXTENSION = hola
DATA = hola.sql
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
4.- 安装它(在我的情况下为/usr/share/postgresql/10/extension)
sudo make USE_PGXS=1 install
5.- 来自 psql (psql -U postgres -h localhost -W)
postgres=# create extension hola;
ERROR: extension "hola" has no installation script nor update path for version "1.0"
我找不到很多关于这个错误的信息。文件正确安装在/usr/share/postgresql/10/extension
我有 Linux Mint 下的 Postgres 10。
谢谢
【问题讨论】:
标签: postgresql