这是 walmgr3 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
walmgr3 - 用于管理基于 WAL 的 PostgreSQL 复制的工具。
概要
walmgr3 命令 [--not-really] [选项]
商品描述
Walmgr3 是一个用 PITR(也称为 Log
船运)。
这个脚本允许设置和管理复制,它也被 PostgreSQL 使用
归档和恢复 WAL 文件。
请参阅下面的快速入门以通过几个步骤开始您的第一个日志传送。
这个 命令 是下面列出的主、从、通用或内部命令之一。
一般 配置
-V,--version
打印版本信息并退出。
-h,--帮助
显示此帮助消息并退出。
-q, --安静
仅记录错误和警告。
-v,--详细
详细记录。
-d,--守护进程
以守护程序模式运行(转到后台)。
-n,--不是真的
展示在不实际做任何事情的情况下会做什么。
具体 配置
--ini
显示示例 ini 文件。
--set="参数=值[,参数=值]"
覆盖配置设置
--init-master
初始化 Master walmgr3 配置。
--init-slave
初始化 Slave walmgr3 配置。
--配置目录=文件路径
--init-X 命令的配置文件位置。
--奴隶=主机
从属主机名。
--pgdata=径
PostgreSQL 数据目录。
--ssh-keygen
如果需要,生成 SSH 密钥对(在 Master 中使用)。
--ssh-添加密钥=密钥文件.pub
将公钥文件添加到authorized_hosts 文件(在Slave 中使用)。
--ssh-删除密钥=ssh_key
从authorized_hosts 文件(在Slave 中使用)中删除Master ssh 密钥。
--primary-conninfo=连接字符串
提供到流式复制 Master(在 Slave 中使用)的连接字符串。
--添加密码=明文文件
为从纯文本文件到 .pgpass 的流式复制添加密码。 额外的
密码文件条目的字段将从 primary-conninfo 中提取(用于
奴隶)。
--删除密码
删除用于流式复制的 .pgpass 条目(在 Slave 中使用)
--同步待机=同步备用名称
执行与命令同步备用相同的操作,但不使用 walmgr ini 文件。 这个
当 walmgr ini 不可用时,可以使用该选项。 它试图猜测 postgres
配置位置,可能还需要 --pgdata 选项。 (在大师中使用)
达蒙 配置
-r,--重新加载
重新加载配置(发送 SIGHUP)。
-s, --停止
安全停止程序(发送 SIGINT)。
-k,--杀死
立即终止程序(发送 SIGTERM)。
主 指令
格局
为 WAL 归档设置 PostgreSQL,在 Slave 上创建必要的目录结构。
同步
将正在进行的 WAL 文件复制到 Slave。
同步守护进程
在守护进程模式下启动 WAL 同步。 这将开始定期同步
正在进行的 WAL 文件到 Slave。
以下配置参数用于驱动同步守护进程:
· 循环延迟 - 同步之间的睡眠时间。
· 使用_xlog_函数 - 使用基于记录的运输来同步进行中的 WAL
段。
停止
停止归档并取消配置 PostgreSQL 归档。
定期
如果已配置,则运行定期命令。 这使得可以在上执行任意命令
间隔,用于同步脚本、配置文件、crontabs 等。
同步待机
启用/禁用给定应用程序名称的同步流复制。 做
启用同步模式前的额外检查。
奴隶 指令
靴
停止 WAL 播放并启动数据库,以便它可以接受查询。
暂停
暂停 WAL 播放。
继续
继续之前暂停的 WAL 播放。
创建奴隶
使用流式复制从主数据库创建备份。 还创造
recovery.conf 并启动从属待机。 备份是用 pg_basebackup 创建的,并且
pg_receivexlog(在 9.2 及更高版本中可用)。
COMMON 指令
列表备份
列出从节点上的可用备份。
备份
从主数据库创建新的基本备份。 将清除过期的备份和 WAL 文件
如果未指定 keep_backups,则在 Slave 上。 在备份期间在 Slave 中创建一个锁定文件
Completed_wals 目录。 这是为了防止同时备份和导致
腐败。 如果正在运行的备份终止,则可能必须删除 BACKUPLOCK 文件
手动。
实验:如果在 Slave 上运行,则从恢复中的 Slave 数据创建备份。 WAL 播放是
暂停,Slave数据目录备份到full_backup目录,WAL回放
恢复了。 根据需要轮换备份。 这个想法是将备份负载从
生产节点。 可从 PostgreSQL 8.2 及更高版本使用。
恢复 [源代码[dst]]
将指定的备份集恢复到目标目录。 如果不带参数指定
最新的备份是 移动 到从数据目录(不遵守保留规则)。 如果源
备份指定备份被复制(而不是移动)。 替代目的地
目录可以用 dst 指定。
净化
停止后清理所有 walmgr3 文件。
内部 指令
存档
在 Master 上,归档一个 WAL 文件。
恢复 [最后的 重启点 沃尔玛]
在 Slave 上,恢复一个 WAL 文件。
锁
在 Master 上,创建锁定文件以拒绝其他并发备份。
发布
在 Slave 上,删除备份锁定文件,允许其他备份运行。
旋转
通过增加备份目录后缀来轮换备份。 请注意,由于我们还必须
为下一次备份腾出空间,我们实际上有 保留备份 - 1 在此之后可用的备份。
这里不会删除不需要的 WAL 文件,而是由 xpurgewals 命令处理。
普吉瓦尔斯
在 Slave 上,删除恢复不需要的 WAL 文件。
部分同步
阅读 字节 来自 stdin 的数据,附加到部分 WAl 文件,从 抵消.
发生错误时,假设主机从零重新启动。
生成的文件始终填充到 XLOG_SEGMENT_SIZE 字节以简化恢复。
配置
相当常见 设置
工作名称
可选的。 标识此脚本,用于日志记录。 如果使用中央保持唯一
日志记录。
日志文件
在哪里登录。
使用_skylog
可选的。 如果非零, 日志文件 用于日志配置。
总音量 设置
pid文件
同步守护程序模式的 Pid 文件位置(如果使用 -d 运行)。 否则不需要。
主数据库
连接到 pg_start_backup() 等的数据库。使用它不是一个好主意
dbname=template 如果在记录传送模式下运行同步守护程序。
主要的数据
主数据目录位置。
主配置
掌握 postgresql.conf 文件位置。 这是 archive_command 更新的地方。
master_restart_cmd
重启Master数据库的命令,在修改archive_mode后使用
范围。 如果您无法在设置/停止时重新启动数据库,请不要设置。
奴隶
从属主机和基目录。
从机配置
Slave walmgr3 的配置文件位置。
已完成_wals
复制存档 WAL 文件的从目录。
部分瓦尔斯
存储不完整 WAL 文件的从目录。
全备份
存储完整备份的从目录。
配置备份
可选的。 存储配置文件备份的从目录。
循环延迟
同步守护程序更新的频率。 在记录传送模式下仅增量更新
发送,因此可以使用更小的间隔。
使用_xlog_函数
使用 pg_xlog 函数进行基于记录的传送(在 8.2 及更高版本中可用)。
压片
如果非零,则将 -z 标志添加到 rsync cmdline。 它减少了网络流量
额外的 CPU 时间成本。
保持符号链接
保留 pg_xlog 和 pg_log 的符号链接。
hot_standby
如果设置为 1,walmgr3 设置会将 wal_level 设置为 hot_standby(PostgreSQL 9.0 和
较新)。
命令间隔
运行定期命令脚本的频率。 以秒为单位,仅在日志切换时评估
倍。
周期命令
要在指定的时间间隔执行的 Shell 脚本。 可用于同步
脚本、配置文件等
样本 主文件
[沃尔姆格]
job_name = wal-master
日志文件= 〜/日志/%(job_name)s.log
pid文件 = 〜/ pid /%(作业名称)s.pid
使用_skylog = 1
master_db = 数据库名=我的数据库
master_data = /var/lib/postgresql/9.1/main
master_config = /etc/postgresql/9.1/main/postgresql.conf
master_bin = /usr/lib/postgresql/9.1/bin
# 仅当您可以承受在安装和停止期间重新启动数据库时才设置此项。
#master_restart_cmd = /etc/init.d/postgresql-9.1 重启
从属 = 从属主机
Slave_config = /var/lib/postgresql/conf/wal-slave.ini
walmgr_data = /var/lib/postgresql/walshipping
Completed_wals = %(walmgr_data)s/logs.complete
partial_wals = %(walmgr_data)s/logs.partial
full_backup = %(walmgr_data)s/data.master
config_backup = %(walmgr_data)s/config.backup
# 同步守护进程更新频率
循环延迟 = 10.0
# 使用自 8.2 起可用的基于记录的运输
使用_xlog_函数 = 0
# 将 -z 传递给 rsync,在低带宽链接上很有用
压缩 = 0
# 保留 pg_xlog 和 pg_log 的符号链接
keep_symlinks = 1
# 告诉 walmgr 在设置过程中将 wal_level 设置为 hot_standby
#热备=1
# 周期性同步
#命令间隔= 600
#periodic_command = /var/lib/postgresql/walshipping/periodic.sh
奴隶 设置
从属数据
Slave 的 PostgreSQL 数据目录。 这是恢复的备份所在的位置
复制/移动。
从属箱
指定 PostgreSQL 二进制文件(pg_controldata 等)的位置。 如果他们需要
尚未在 PATH 中。
从站停止命令
在 Slave 上停止 PostgreSQL 的脚本。
从机启动命令
在 Slave 上启动 PostgreSQL 的脚本。
从机配置目录
PostgreSQL 配置文件的目录。 如果指定,walmgr3 恢复尝试
从 config_backup 目录恢复配置文件。
从属_pg_xlog
设置为从服务器上写入 pg_xlog 文件的目录。 在恢复到
Slave walmgr3 将创建一个从 data/pg_xlog 到这个位置的符号链接。
已完成_wals
存储完整 WAL 文件的目录。 也有杂项控制文件
在此目录中创建(BACKUPLOCK、STOP、PAUSE 等)。
部分瓦尔斯
存储部分 WAL 文件的目录。
全备份
存储完整备份的目录。
配置备份
可选的。 存储配置文件备份的从目录。
备份数据目录
将 backup_datadir 设置为 没有 防止walmgr3备份数据目录
当恢复到 Slave 时。 这默认为 含.
保留备份
要保留的备份数。 还有所有 WAL 文件需要将最早的备份提高到
日期被保留。 在开始新备份之前轮换备份,因此在某一时刻
实际上可用的备份少了一个。
如果不定期备份,则指定 keep_backups 可能没有意义
执行 - WAL 文件会很快堆积起来。
备份将命名为 data.master、data.master.0、data.master.1 等。
归档命令
在旋转掉最旧的备份之前要执行的脚本。 如果失败,备份将不会
被旋转。
主要_conninfo
热备的主数据库连接字符串 - 启用此功能将导致
从站以热备模式启动。
样本 从属文件
[沃尔姆格]
job_name = wal-slave
日志文件= 〜/日志/%(job_name)s.log
使用_skylog = 1
Slave_data = /var/lib/postgresql/9.1/main
Slave_bin = /usr/lib/postgresql/9.1/bin
slave_stop_cmd = /etc/init.d/postgresql-9.1 停止
slave_start_cmd = /etc/init.d/postgresql-9.1 启动
Slave_config_dir = /etc/postgresql/9.1/main
# 从站的备用 pg_xlog 目录,在恢复时符号链接到 pg_xlog
#slave_pg_xlog = /vol2/pg_xlog
walmgr_data = 〜/运输
Completed_wals = %(walmgr_data)s/logs.complete
partial_wals = %(walmgr_data)s/logs.partial
full_backup = %(walmgr_data)s/data.master
config_backup = %(walmgr_data)s/config.backup
备份数据目录 = 是
保持备份 = 0
存档命令 =
#热备的主数据库连接字符串——启用
# 这将导致从站以热备模式启动。
#primary_conninfo = 主机=主端口=5432 用户=postgres
退出 状态
0
程序执行成功。
环境
可以使用 PostgreSQL 环境变量。
快 主页
1.在Master上设置无密码ssh-key并写入配置文件
master$ walmgr3 --ssh-keygen --init-master --slave
2.设置Master到Slave的无密码ssh认证并写入配置
从站文件
奴隶$ walmgr3 --init-slave --ssh-add-key=/tmp/id_rsa.pub
3. Master 和 Slave 上的日志设置
master$ cp skylog.ini ~postgres/
奴隶$ cp skylog.ini ~postgres/
4. 开始归档过程并创建基本备份
master$ walmgr3 /var/lib/postgresql/conf/wal-master.ini 设置
master$ walmgr3 /var/lib/postgresql/conf/wal-master.ini 备份
注意:从 PostgreSQL 8.3 开始,归档由
将archive_mode GUC 设置为on。 但是改变这个参数
需要重启服务器。
5. 在 Slave 上准备 postgresql.conf 和 pg_hba.conf 并开始重放
slave$ walmgr3 /var/lib/postgresql/conf/wal-slave.ini 恢复
对于基于 debian 的发行版,标准配置文件是
位于 /etc/postgresql/xx/main 目录中。 如果另一个方案是
使用过的 postgresql.conf 和 pg_hba.conf 应该被复制到 slave
full_backup 目录。 确保在 slave 中禁用 archive_command
配置。
“walmgr3 restore”将数据移动到位,创建 recovery.conf 和
以恢复模式启动 postmaster。
6. 可以通过命令备份正在进行的 WAL 段:
master$ walmgr3 /var/lib/postgresql/conf/wal-master.ini 同步
7. 如果需要在 Slave 上停止重播并启动到正常模式,请执行以下操作:
slave$ walmgr3 /var/lib/postgresql/conf/wal-slave.ini 引导
01/15/2016 沃尔姆GR3(1)
使用 onworks.net 服务在线使用 walmgr3
