Postgres。安装我自己的扩展时出错

exo*_*ehm 3 postgresql

我正在尝试为 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;
Run Code Online (Sandbox Code Playgroud)

2.- 创建控制文件(hola.control):

# hola extension
comment = 'Funcion para decir hola'
default_version = '1.0'
relocatable = false
Run Code Online (Sandbox Code Playgroud)

3.-生成文件

EXTENSION = hola
DATA = hola.sql

PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
Run Code Online (Sandbox Code Playgroud)

4.- 安装它(就我而言/usr/share/postgresql/10/extension

sudo make USE_PGXS=1 install
Run Code Online (Sandbox Code Playgroud)

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"
Run Code Online (Sandbox Code Playgroud)

我找不到有关此错误的很多信息。文件已正确安装在/usr/share/postgresql/10/extension

我在 Linux Mint 下有 Postgres 10。

谢谢

Lau*_*lbe 7

必须调用1.0版本的SQL脚本

hola--1.0.sql
Run Code Online (Sandbox Code Playgroud)