基于docker实现的postgres服务
Go to file
2024-02-22 10:25:04 +08:00
conf 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
data 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
.gitignore 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
clear 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
docker-compose.yml 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
fulldump 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
README.md 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
start 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00
stop 实现docker一键部署、一键启停、一键备份 2024-02-22 10:25:04 +08:00

docker启动的postgres服务

使用说明

git clone https://git.wandoubaba.com/wandoubaba/docker-postgres.git
cd docker-postgress
# chmod +x start
./start

执行结果为启动一个名为postgres的容器其中运行了postgres服务默认端口号为5432默认用户postgres默认密码123456默认数据库postgres

脚本工具

所有脚本在执行之前都需要确保具有可执行权限。

脚本 作用 用法
start 启动服务 ./start
stop 停止服务 ./stop
fulldump 对指定数据库执行全量备份通过pg_dump实现其中参数的作用是清除多少天之前的备份默认值是15天 ./fulldump
clear 危险!!!清空所有数据、备份、日志等文件 ./clear

修改默认值

  • 如何修改端口号?

conf/postgresql.conf中找到port = 5432一行,修改(需要使用start脚本重启后才会生效)。

  • 如何修改密码?

docker-compose.yml中修改环境变量POSTGRES_PASSWORD的值。

  • 如何修改默认用户?

docker-compose.yml中设置环境变量POSTGRES_USERfulldump脚本中的脚本可能需要修改

  • 如何修改默认数据库?

docker-compose.yml中设置环境变量POSTGRES_DBfulldump脚本中的脚本可能需要修改

修改配置文件

通过start脚本启动服务时会自动将conf目录下的配置文件应用到容器内而配置文件中的大部分配置项都需要重启服务才会生效因些建议每次都直接修改conf目录中的配置文件然后再执行./stop && ./start重启服务。

定时备份

手动调用fulldump脚本可以实时备份数据库,将fulldump脚本加入到系统crontab定时任务中即可实现定时备份。

下面是一个示例:

# 每天1点备份postgres数据库并清除15天前的备份
0 1 * * *   bash /app/dev/postgres/fulldump postgres 15