暂无图片
plperlu 插件安装需要哪些包
我来答
分享
暂无图片 匿名用户
plperlu 插件安装需要哪些包

postgres=# create extension plperlu;
ERROR: could not open extension control file "/usr/local/pg12/share/postgresql/extension/plperlu.control": No such file or directory


pg-12.6  ,centos 7.9 

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
手机用户1289





在 CentOS 7.9 上为 PostgreSQL 12.6 安装 `plperlu` 插件,需先满足依赖条件,若直接创建扩展提示控制文件缺失,可按以下步骤处理:

### 1. 安装依赖包
执行以下命令安装 `Perl` 开发包及 PostgreSQL 开发文件(假设 PostgreSQL 安装包命名符合常规,若路径或命名不同需调整):
```bash
sudo yum install -y perl-devel
sudo yum install -y postgresql12-devel
```

### 2. 下载并编译 PostgreSQL 源码(含 `plperlu`)
若未通过包管理器安装 `plperlu`,需下载 PostgreSQL 12.6 源码编译:
1. 下载源码包(如从 [PostgreSQL 官网](https://www.postgresql.org/ftp/source/v12.6/)):
```bash
wget https://ftp.postgresql.org/pub/source/v12.6/postgresql-12.6.tar.gz
tar -xzf postgresql-12.6.tar.gz
cd postgresql-12.6/contrib/plperlu
```
2. 编译并安装:
```bash
make && make install
```
此操作会将 `plperlu.control` 等文件复制到 PostgreSQL 的扩展目录(如 `/usr/local/pg12/share/postgresql/extension/`)。

### 3. 确认文件位置
确保 `plperlu.control` 等文件存在于正确目录:
```bash
ls /usr/local/pg12/share/postgresql/extension/plperlu*
```
若文件缺失,检查编译安装过程是否有错误,或手动复制(从源码 `contrib/plperlu` 目录复制到目标扩展目录)。

### 4. 重新创建扩展
再次执行 SQL 命令创建扩展:
```sql
CREATE EXTENSION plperlu;
```

若仍报错,检查 PostgreSQL 日志(`postgresql.log`)获取更多信息,或确认编译环境是否完整(如 GCC 等编译工具是否安装:`sudo yum install -y gcc`)。 

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏