javaanddonet/postgresql-client

By javaanddonet

Updated 7 months ago

postgresql数据库客户端镜像文件

Image
Databases & Storage
Integration & Delivery
Developer Tools

115

关于参数

运行容器的时候,请传入如下参数:

  • POSTGRESQL_HOST_NAME:必选参数,待备份的数据库的主机名称或IP地址,传入的时候,用双引号包裹起来。
  • POSTGRESQL_BACKUP_USER_NAME:必选参数,执行备份操作的数据库用户名称,最好是postgres用户,传入的时候,用双引号包裹起来。
  • POSTGRESQL_BACKUP_USER_PASSWORD:必选参数,执行备份操作的数据库用户的密码,传入的时候,用双引号包裹起来。
  • POSTGRESQL_PORT:可选参数,待备份的数据库的端口号,如果不传入,默认使用5432。
  • BACKUP_DB_LIST:可选参数,待备份的数据库列表有哪些,多个数据库用空格分隔,双引号包裹。如不传入在备份所有的数据库。
  • PROJECT_NAME:可选参数,项目名称,该参数的值会用在邮件的标题中,表明是哪个项目的数据库备份通知邮件,传入的时候,用双引号包裹起来。
  • EMAIL_RECEIVER_ADDRESS:可选参数,邮件地址,用于接受备份数据库完成后的通知邮件,传入的时候,用双引号包裹起来。不传入,则不发送邮件。
  • SEPARATE_DB_AND_SCHEMA:可选参数,是否分库分模式备份,是请传入Y,否则可以不传入该参数,默认是不分库分模式备份。
  • SEPARATE_DB_AND_SCHEMA_AND_TABLE:可选参数,是否分库分表备份,是请传入Y,否则可以不传入该参数,默认是不分库发表备份。
  • BACKUP_FILE_RETENTION_PERIOD:可选参数,备份文件保留的时间周期,不传入则默认保留100天以内的备份文件。
  • BACKUP_SCHEDULE: 可选参数,备份脚本执行的周期,和Linux的crontab定义的方式一样,如:每天凌晨1点执行,请传入:"0 1 * * *"。默认每天凌晨1点。
  • DRY_RUN:可选参数,是否验证备份任务,传入该参数只会走一遍备份流程,但是不会真正的执行备份操作。不传入该参数则会执行真正的备份操作。
关于挂载

挂载目录请选择:/xxx/xxx:/backup backup是容器内部的挂载目录,用于存放生成的备份文件。

运行该容器的脚步为:
docker run -itd \
-e POSTGRESQL_HOST_NAME="100.145.33.21" \
-e POSTGRESQL_BACKUP_USER_NAME="postgres" \
-e POSTGRESQL_BACKUP_USER_PASSWORD="123456" \
-e POSTGRESQL_PORT=5432 \
-e BACKUP_DB_LIST="db1 db2 db3" \
-e PROJECT_NAME="测试项目" \
-e EMAIL_RECEIVER_ADDRESS="example@126.com" \
-e SEPARATE_DB_AND_SCHEMA_AND_TABLE=Y \
-e BACKUP_SCHEDULE="0 1 * * *" \
-e BACKUP_FILE_RETENTION_PERIOD=100 \
-v xxx:/backup \
--name postgresql-backup-client \
javaanddonet/postgresql-client:15-ubuntu-22.04-v1.0
不执行备份脚本,只是使用它作为一个客户端来使用,可以不传入任何参数。
docker run -itd \
--name postgresql-15-client \
javaanddonet/postgresql-client:15-ubuntu-22.04-v1.0

Docker Pull Command

docker pull javaanddonet/postgresql-client