【问题标题】:How to change timezone of postgreSQL 9.5 on docker?如何在 docker 上更改 postgreSQL 9.5 的时区?
【发布时间】:2017-11-07 17:21:52
【问题描述】:

默认时区为 UTC。 但我想将其更改为 GMT+2。 我尝试如下。

alter database governance set timezone = 'GMT+2';

但它不起作用。

我该如何管理它?

postgresql 版本是 9.5。 它在 Docker 上运行。

谢谢!

【问题讨论】:

    标签: docker postgresql-9.5


    【解决方案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 文件中设置时区(TZPGTZ 是必需的):

      postgres:
          image: postgres
          environment:
              TZ: 'GMT+2'
              PGTZ: 'GMT+2'
      

      参考:https://github.com/docker-library/postgres/issues/137#issuecomment-217064811

      【讨论】:

      • 为什么要设置两个键?
      • @DularaMalindu TZ 用于 GNU/Linux,PGTZ 用于 PostgreSQL。
      【解决方案4】:

      对于那些使用 TZ 并且没有任何反应的人

      我的原因是容器第一次启动 它将 TZ 变量存储在映射卷中的 PG 配置中。并且在将 docker compose 文件更改为另一个 TZ 值后,它保持不变并且看起来不起作用。 你应该先删除 db 然后重新启动 docker-compose

      【讨论】:

      • 谢谢,我的日志卡在错误的时区
      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 2021-06-09
      • 2014-12-28
      • 1970-01-01
      • 2019-12-27
      • 1970-01-01
      • 2016-06-11
      • 2020-02-26
      相关资源
      最近更新 更多