Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 自定义postgres共享\u预加载\u库目录-如何配置?_Postgresql - Fatal编程技术网

Postgresql 自定义postgres共享\u预加载\u库目录-如何配置?

Postgresql 自定义postgres共享\u预加载\u库目录-如何配置?,postgresql,Postgresql,我正在尝试在alpine linux docker的postgres中安装扩展。 跑步时 CREATE EXTENSION pg_cron; 在psql控制台中,我得到: 错误:无法打开扩展控制文件“/usr/local/share/postgresql/extension/pg_cron.control”:没有这样的文件或目录 问题是实际的pg_cron.control不在/usr/local/share/…下。。。但是在/usr/share/下。。 在postgresql.conf中,我

我正在尝试在alpine linux docker的postgres中安装扩展。 跑步时

CREATE EXTENSION pg_cron; 
在psql控制台中,我得到: 错误:无法打开扩展控制文件“/usr/local/share/postgresql/extension/pg_cron.control”:没有这样的文件或目录

问题是实际的pg_cron.control不在/usr/local/share/…下。。。但是在/usr/share/下。。 在postgresql.conf中,我可以在哪里定义路径

采取的步骤:

docker run --name postgres-0 -e POSTGRES_PASSWORD=Password1 -p 5432:5432 -d postgres:10-alpine

docker exec -it postgres-0 /bin/bash
apk update
apk add postgresql-pg_cron --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community

cat <<EOT >> /var/lib/postgresql/data/postgresql.conf
shared_preload_libraries='pg_cron'
EOT

pg_ctl reload
docker run--name postgres-0-e postgres\u PASSWORD=Password1-p 5432:5432-d postgres:10
docker exec-it postgres-0/bin/bash
apk更新
apk添加postgresql-pg_cron——存储库=http://dl-cdn.alpinelinux.org/alpine/edge/community
cat/var/lib/postgresql/data/postgresql.conf
共享\u预加载\u库='pg\u cron'
EOT
pg_控制重新加载

PostgreSQL希望在与安装相关的
SHAREDIR/extension/
目录中找到扩展文件(执行
pg\u config--SHAREDIR
以确认特定安装的
SHAREDIR
值)

但是,没有为扩展文件指定替代位置的工具;看来包装有问题

我不熟悉Alpine Linux,但是快速的Google搜索会带来这个问题:建议的解决方案是使用一个简单的Alpine Linux映像,并通过
apk
命令安装PostgreSQL,所以您可能想试试