TimescaleDB官方Docker图像上的postgresql.conf文件都被注解了,为什么?

332nm8kg  于 2023-03-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(126)

/var/lib/postgresql/data中找到的postgresql.conf文件都是这样注解的(我检查过了):

但当我尝试使用以下命令进行配置时:SELECT current_setting('autovacuum')

为什么会这样?我可以编辑这个文件吗?或者TimescaleDB插件上有另一个文件?

cwtwac6a

cwtwac6a1#

这是常规行为,因为每个配置都有默认值。要覆盖某些特定行为,您需要挂载配置文件。
如果只是测试配置,可以通过bash加入容器:

docker exec -it your-timescale-container bash

然后,您可以重新启动服务:

service postgresql restart

如果要从计算机同步配置,请使用以下方法:
要在使用TimescaleDB-HA Docker映像时设置PostgreSQL配置,可以执行以下步骤:
在主机上创建一个新目录来存储PostgreSQL配置文件。例如,您可以在主目录中创建一个名为pg_conf的目录:

mkdir ~/pg_conf

将postgresql.conf文件复制到pg_conf目录。
启动timescaledb-ha容器并将pg_conf目录装载到该容器。可以使用-v选项将该目录装载为卷。例如:

docker run --name my-timescaledb-ha -v ~/pg_conf:/etc/postgresql/postgresql.conf.d -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword timescale/timescaledb-ha

此命令将启动一个名为my-timescaledb-ha的新TimescaleDB-HA容器,并将主机上的pg_conf目录挂载到容器内的/etc/postgresql/postgresql.conf.d目录。
现在你的PostgreSQL配置应该应用到容器中了。你可以通过检查容器中的postgresql.conf文件来确认这一点:

docker exec -it my-timescaledb-ha cat /etc/postgresql/postgresql.conf.d/postgresql.conf

此命令将显示容器内postgresql.conf文件的内容。
就是这样!现在您可以根据需要启动和停止容器,并且您的PostgreSQL配置将在容器重新启动后保持不变。

相关问题