扩展生成故障排除
来自 PostgreSQL wiki
跳至导航跳至搜索通常生成扩展只需以下命令
make make install make installcheck
随后用 SQL 命令在数据库中创建扩展(替换foobar为扩展名)
CREATE EXTENSION foobar;
故障排除
如果你遇到类似错误
"Makefile", line 8: Need an operator
你需要使用 GNU make,它可能已安装在你的系统中,名为 gmake
gmake gmake install gmake installcheck
如果你遇到类似错误
make: pg_config: Command not found
确保已安装 pg_config 并位于你的路径中。如果使用 RPM 等包管理系统安装 PostgreSQL,请确保也已安装 -devel 包。如有必要,告诉生成进程在哪里可以找到它
env PG_CONFIG=/path/to/pg_config make && make installcheck && make install
如果你遇到类似错误
ERROR: must be owner of database regression
你需要用超级用户(例如默认“postgres”超级用户)来运行测试套件
make installcheck PGUSER=postgres
扩展安装后,可以将其添加到数据库中。如果你运行的是 9.1.0 或更高版本的 PostgreSQL,只需以超级用户身份连接到数据库并运行(替换foobar为扩展名)
CREATE EXTENSION foobar;
如果你已将集群升级到 PostgreSQL 9.1,并且已经安装了扩展,则可以使用以下命令将其升级到正确打包的扩展
CREATE EXTENSION foobar FROM unpackaged;
对于低于 9.1.0 版本的 PostgreSQL,你需要运行安装脚本当(替换foobar为扩展名)
psql -d mydb -f /path/to/pgsql/share/contrib/foobar.sql
如果你想将该扩展及其所有支持对象安装到特定架构中,请使用 PGOPTIONS 环境变量来指定架构,如下所示
PGOPTIONS=--search_path=extensions psql -d mydb -f foobar.sql
答谢
本故障排除指南最初由David E. Wheeler撰写。从他的主机名扩展 README 中复制。