使用docker compose启动postgres并设置时区

news/2025/2/19 7:36:05/

设置PostGres时区

      • 方法 1: 使用 `POSTGRES_INITDB_ARGS` 设置时区
      • 方法 2: 使用初始化脚本设置时区
        • 创建 `init-user-db.sql`
        • 更新 `docker-compose.yml`
      • 启动服务

要在启动 PostgreSQL 数据库时设置时区,可以通过在 docker-compose.yml 文件中添加环境变量或通过配置文件来实现。对于 PostgreSQL,你可以使用 POSTGRES_INITDB_ARGS 环境变量来传递初始化数据库时的参数,包括时区设置。

方法 1: 使用 POSTGRES_INITDB_ARGS 设置时区

可以在 docker-compose.yml 文件中的 environment 部分添加 POSTGRES_INITDB_ARGS 环境变量,并指定时区选项。例如,如果想设置时区为 Asia/Shanghai,可以这样做:

version: '3.9'
services:dbpg16:image: 192.168.1.111:5000/crm/postgres:16.5container_name: pg_db_16restart: alwaysports:- "25432:5432"- "22779:22"environment:- POSTGRES_DB=postgres- POSTGRES_PASSWORD=odoo- POSTGRES_USER=odoo- PGDATA=/var/lib/postgresql/data/pgdata- POSTGRES_INITDB_ARGS=--timezone='Asia/Shanghai'  # 设置时区volumes:- ./odoo-db-data:/var/lib/postgresql/data/pgdata- ./etc/pgbackrest:/etc/pgbackrest
volumes:odoo-db-data:

方法 2: 使用初始化脚本设置时区

如果需要更复杂的初始化操作,或者想要确保每次启动容器时都应用某些设置,可以使用一个初始化 SQL 脚本来设置时区。首先创建一个 SQL 文件(例如 init-user-db.sql),然后将其挂载到容器中。

创建 init-user-db.sql

在你的项目目录下创建一个名为 init-user-db.sql 的文件,并添加以下内容:

-- 设置时区
SET timezone = 'Asia/Shanghai';
dockercomposeyml_44">更新 docker-compose.yml

修改 docker-compose.yml 文件以包含该初始化脚本:

version: '3.9'
services:dbpg16:image: 192.168.1.111:5000/crm/postgres:16.5container_name: pg_db_16restart: alwaysports:- "25432:5432"- "22779:22"environment:- POSTGRES_DB=postgres- POSTGRES_PASSWORD=odoo- POSTGRES_USER=odoo- PGDATA=/var/lib/postgresql/data/pgdatavolumes:- ./odoo-db-data:/var/lib/postgresql/data/pgdata- ./etc/pgbackrest:/etc/pgbackrest- ./init-user-db.sql:/docker-entrypoint-initdb.d/init-user-db.sql  # 挂载初始化脚本
volumes:odoo-db-data:

启动服务

完成上述更改后,运行以下命令来启动服务:

docker-compose up -d

这将根据你的配置启动 PostgreSQL 容器,并根据所选的方法之一设置时区。


http://www.ppmy.cn/news/1572419.html

相关文章

独立站赋能反向海淘:跨境代购系统的用户体验与支付解决方案

随着全球化的推进以及消费者对海外商品多样化需求的增长,独立站赋能的反向海淘模式愈发火热,其中跨境代购系统的用户体验与支付解决方案起着关键作用。 一、跨境代购系统的用户体验 界面友好性 独立站的页面设计需要简洁、直观,方便用户快速…

【Maven】多module项目优雅的实现pom依赖管理

【Maven】多module项目优雅的实现pom依赖管理 【一】方案设计原则【二】项目结构示例【三】实现思路【1】可能的问题点:【2】解决方案的思路:【3】需要注意的地方:【4】可能的错误: 【四】实现案例【1】父POM设计(pare…

格式工厂 FormatFactory v5.18.便携版 ——多功能媒体文件转换工具

格式工厂 FormatFactory v5.18.便携版 ——多功能媒体文件转换工具 功能:视频 音频 图片 文档PDF格式 各种转换,同格式调整压缩比例,调整大小 特色:果风图标 好看; 支持多任务队列,完成自动关机 下载地址&#xff1…

渗透测试--文件包含漏洞

文件包含漏洞 前言 《Web安全实战》系列集合了WEB类常见的各种漏洞,笔者根据自己在Web安全领域中学习和工作的经验,对漏洞原理和漏洞利用面进行了总结分析,致力于漏洞准确性、丰富性,希望对WEB安全工作者、WEB安全学习者能有所帮助…

redis底层数据结构——整数集合

文章目录 定义内部实现升级升级的好处提升灵活性节约内存 降级总结 定义 整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层…

singleTaskAndroid的Activity启动模式知识点总结

一. 前提知识 1.1. 任务栈知识 二. Activity启动模式的学习 2.1 standard 2.2 singleTop 2.3.singleTask 2.4.singleInstance 引言: Activity作为四大组件之一,也可以说Activity是其中最重要的一个组件,其负责调节APP的视图&#xff…

【面试】网络安全常问150道面试题

1,拿到一个待测网站,你觉得应该先做什么? 信息收集: 服务器相关---:## 系统版本,真实IP,开放端口,使用的中间件 指纹信息---## 有无cdn加速,dns解析记录,是不…

TCP可靠传输的ARQ协议

基本知识 ARQ(Automatic Repeat-reQuest)协议主要包含:停等ARQ协议、连续ARQ协议,其中连续ARQ协议是为了解决停等ARQ协议信道利用率低的问题,目前传统的连续ARQ协议有回退N帧ARQ协议、选择性重传ARQ协议。 注意&#…