【发布时间】:2018-06-12 16:12:50
【问题描述】:
如果我在 docker-entrypoint-initdb.d/init.sql 文件中创建 pg_cron 扩展名,docker 映像将无法运行,docker logs <id> 只会说“没有这样的容器”。这是相关的 .sql sn-p:
CREATE DATABASE my_database;
\c my_database;
CREATE EXTENSION IF NOT EXISTS postgis CASCADE;
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
CREATE EXTENSION IF NOT EXISTS pg_cron CASCADE;
但是,如果我在 docker run 命令完成后创建 pg_cron 扩展(即删除上面的最后一行并在 docker run 完成后使用 psql --file 单独运行它),则成功创建扩展(似乎是 postgis 和 timescaledb 扩展没关系)。
我无法从docker-entrypoint-init.d 创建 pg_cron 扩展是否有原因?有正确的地方吗?
我的docker运行命令如下:
docker run -d \
--name my_container --rm \
-p 5432:5432 \
-clog_line_prefix="%m [%p]: [%l-1] %u@%d" \
-clog_error_verbosity=VERBOSE \
-cshared_preload_libraries='timescaledb,pg_cron' \
-ccron.database_name='my_database'
【问题讨论】:
标签: postgresql docker psql timescaledb