暂无图片
auth_delay源码编译后,无法创建扩展
我来答
分享
暂无图片 匿名用户
auth_delay源码编译后,无法创建扩展


[root@gbase8c_1 auth_delay]# pwd
/opt/postgresql-12.6/contrib/auth_delay
[root@gbase8c_1 auth_delay]# ll
total 24
-rw-r--r-- 1 1107 1107 1506 Feb 9 2021 auth_delay.c
-rw-r--r-- 1 root root 2712 Nov 8 14:42 auth_delay.o
-rwxr-xr-x 1 root root 8352 Nov 8 14:42 auth_delay.so
-rw-r--r-- 1 1107 1107 360 Feb 9 2021 Makefile
[root@gbase8c_1 auth_delay]# make
make -C ../../src/backend generated-headers
make[1]: Entering directory `/opt/postgresql-12.6/src/backend'
make -C catalog distprep generated-header-symlinks
make[2]: Entering directory `/opt/postgresql-12.6/src/backend/catalog'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/opt/postgresql-12.6/src/backend/catalog'
make -C utils distprep generated-header-symlinks
make[2]: Entering directory `/opt/postgresql-12.6/src/backend/utils'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/opt/postgresql-12.6/src/backend/utils'
make[1]: Leaving directory `/opt/postgresql-12.6/src/backend'
[root@gbase8c_1 auth_delay]# make install
make -C ../../src/backend generated-headers
make[1]: Entering directory `/opt/postgresql-12.6/src/backend'
make -C catalog distprep generated-header-symlinks
make[2]: Entering directory `/opt/postgresql-12.6/src/backend/catalog'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/opt/postgresql-12.6/src/backend/catalog'
make -C utils distprep generated-header-symlinks
make[2]: Entering directory `/opt/postgresql-12.6/src/backend/utils'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/opt/postgresql-12.6/src/backend/utils'
make[1]: Leaving directory `/opt/postgresql-12.6/src/backend'
/usr/bin/mkdir -p '/usr/local/pg12/lib/postgresql'
/usr/bin/install -c -m 755 auth_delay.so '/usr/local/pg12/lib/postgresql/'


编译成功了

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


postgres=# show shared_preload_libraries ;
shared_preload_libraries
---------------------------------------------------------------------------------------
pg_stat_statements,pgaudit,pg_repack,pg_hint_plan,pg_pathman,auth_delay,passwordcheck

auth_delay这个本身就包含再pg的源码包中了,不用单独下载了,create extension auth_delay;失败


该如何修改呢?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
梧桐

auth_delay可能被安装到了错误的路径。使用

pg_config --sharedir 

查看输出路径是否包含 auth_delay.control,如果不匹配,则可能是 make install 安装到了错误位置。可以手动复制:

cp contrib/auth_delay/auth_delay--*.sql $(pg\_config --sharedir)/extension/  

在postgresql.conf shared_preload_libraries 中启用 auth_delay,但重启后可能未生效,尝试:

SELECT \* FROM pg\_extension WHERE extname = 'auth\_delay'; 

如果查询不到结果,尝试重启 PostgreSQL:
pg_ctl restart -D /path/to/data
重新编译 PostgreSQL 并确认 contrib 目录是否已编译
进入 PostgreSQL 源码的目录,执行:

make -C contrib/auth_delay clean  
make -C contrib/auth_delay  
make -C contrib/auth_delay install  

执行完这些步骤后,重新运行:

CREATE EXTENSION auth_delay;

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