1.9 KiB
1.9 KiB
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_USER
(fulldump脚本中的脚本可能需要修改)。
- 如何修改默认数据库?
在docker-compose.yml
中设置环境变量POSTGRES_DB
(fulldump脚本中的脚本可能需要修改)。
修改配置文件
通过start脚本启动服务时会自动将conf目录下的配置文件应用到容器内,而配置文件中的大部分配置项都需要重启服务才会生效,因些建议每次都直接修改conf目录中的配置文件,然后再执行./stop && ./start
重启服务。
定时备份
手动调用fulldump
脚本可以实时备份数据库,将fulldump
脚本加入到系统crontab定时任务中即可实现定时备份。
下面是一个示例:
# 每天1点备份postgres数据库并清除15天前的备份
0 1 * * * bash /app/dev/postgres/fulldump postgres 15