如何在 docker 上更改 postgreSQL 9.5 的时区?
Posted
技术标签:
【中文标题】如何在 docker 上更改 postgreSQL 9.5 的时区?【英文标题】:How to change timezone of postgreSQL 9.5 on docker? 【发布时间】:2017-11-07 17:21:52 【问题描述】:默认时区为 UTC。 但我想将其更改为 GMT+2。 我尝试如下。
alter database governance set timezone = 'GMT+2';
但它不起作用。
我该如何管理它?
postgresql 版本是 9.5。 它在 Docker 上运行。
谢谢!
【问题讨论】:
【参考方案1】:要更改图像的时区,请尝试以下操作:
docker run -it -e "TZ=GMT+2" postgres:alpine
docker-compose.yml
postgres:
image: postgres:alpine
environment:
- TZ=GMT+2
【讨论】:
我的解释不够充分。我正在使用 docker-compose.yml。我尝试添加环境:TZ: GMT+2 但它不起作用。 你能发布 docker-compose.yml 吗?【参考方案2】:您必须以这种格式在docker-compose.yml
文件中指定时区:
postgres:
image: postgres:alpine
environment:
TZ: "Europe/Madrid"
【讨论】:
【参考方案3】:您应该在 docker compose 文件中设置时区(TZ
和 PGTZ
是必需的):
postgres:
image: postgres
environment:
TZ: 'GMT+2'
PGTZ: 'GMT+2'
参考:https://github.com/docker-library/postgres/issues/137#issuecomment-217064811
【讨论】:
为什么要设置两个键? @DularaMalinduTZ
用于 GNU/Linux,PGTZ
用于 PostgreSQL。【参考方案4】:
对于那些使用 TZ 并且没有任何反应的人
我的原因是容器第一次启动 它将 TZ 变量存储在映射卷中的 PG 配置中。并且在将 docker compose 文件更改为另一个 TZ 值后,它保持不变并且看起来不起作用。 你应该先删除 db 然后重新启动 docker-compose
【讨论】:
谢谢,我的日志卡在错误的时区以上是关于如何在 docker 上更改 postgreSQL 9.5 的时区?的主要内容,如果未能解决你的问题,请参考以下文章
来自 docker 的默认 postgresql.conf 文件 [重复]
如何在 Python3.7 docker 容器中执行并行 PostgreSQL 查询?
如何在远程 postgresql docker 上运行 run junit
如何将主机上运行的 Spring Boot 应用程序连接到 Docker 上运行的 Postgresql?