docker怎么运行PostgreSQL数据库维护执行脚本备份数据库与更新表结构

发布时间:2023-05-05 11:41:33 作者:iii
来源:亿速云 阅读:105

本篇内容主要讲解“docker怎么运行PostgreSQL数据库维护执行脚本备份数据库与更新表结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker怎么运行PostgreSQL数据库维护执行脚本备份数据库与更新表结构”吧!

PostgreSQL简介

业务场景

数据库维护

docker-compose配置

  # 数据库服务
  postgresql:
    image: postgres:14.2
    container_name: postgres
    ports:
      - 5432:5432
    volumes:
      - ./volumes/postgresql/:/var/lib/postgresql/data/
      - /etc/localtime:/etc/localtime
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=xxxxxxxx
      - POSTGRES_HOST_AUTH_METHOD=md5
      - TZ=Asia/Shanghai
    restart: always

备份脚本

#!/bin/bash
echo "======== start backup pg data ========"
# pg 数据目录
pgdata=/home/signal/instance/volumes
target=/home/bak/pgbak
if [ ! -d $target ];then
    mkdir -p $target
else
    echo "文件夹已经存在"
fi
# 当前日期
curDay=$(date "+%Y-%m-%d")
echo ${curDay}
# 保留文件数
ReservedNum=10
# 去pg 数据目录,按日期压缩到备份文件夹
cd $pgdata
tar -zcvf $target/postgresql-$curDay.tgz postgresql
# 删除多余天数的压缩文件
#*.tgz表示筛选文件类型,去掉则针对整个目录的文件
cd $target
FileNum=$(ls -l  ./*.tgz |grep ^- |wc -l)
while(( FileNum > $ReservedNum))
do
	OldFile=$(ls -rt  ./*.tgz| head -1)
	rm -f $OldFile
	let "FileNum--"
done
echo "======== bakup pg data end ========"

更新表结构脚本

echo "更新postgresql表结构"
docker exec postgres /bin/sh -c "sh /var/lib/postgresql/data/db_update.sh"
#!/bin/bash
# 以postgres用户 执行此脚本 更新数据库
echo 'update database'
psql -d core -U postgres -f /var/lib/postgresql/data/core_update.sql
sleep 1s
echo 'create update end'
exit

到此,相信大家对“docker怎么运行PostgreSQL数据库维护执行脚本备份数据库与更新表结构”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. Linux中安装部署Docker管理工具Drone的操作方法
  2. 在Linux系统下怎么使用Docker以及Weave搭建Nginx反向代理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker postgresql

上一篇:C#正则表达式之Ismatch()怎么使用

下一篇:ChatGPT中文怎么设置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》