AnyBackup-PostgreSQL 备份失败,执行输出中提示错误:归档档路径不存在,请检查数据库 postgresql.conf 文件中的 archive_command 是否配置正确
关键字
PostgreSQL、archive_command
适用产品
· AnyBackup 6.0.21 ~ 6.0.28
问题描述
执行 PostgreSQL 数据库备份失败,查看执行输出,显示如下错误信息:
PostgreSQL 备份失败。(错误提供者:postgresqlProvider,错误值:e0930200,错误位置:ncPostgreSQLBackupExec.cpp:486)(附加信息:归档路径不存在,请检查数据库postgresql.conf文件中的archive_command是否配置正确!(错误提供者:postgresqlProvider,错误值:e093021d,错误位置:ncPostgreSQLBackupExec.cpp:655))

问题影响
AnyBackup 无法完成 PostgreSQL 数据库备份。
问题原因
备份的 PostgreSQL 数据库中,postgresql.conf 文件记录的归档日志存放路径在服务器中不存在,从而导致备份 PostgreSQL 数据库失败。
解决方案
为解决此问题, 需在数据库服务器中创建 postgresql.conf 文件中所记录的归档路径,并赋予对应数据库用户权限。以 Linux 操作系统下配置归档路径作为例,具体步骤如下:
1. 通过 SSH 登录数据库服务器,执行以下命令,查看 postgresql.conf 配置文件中的 archive_command 字段,确认归档日志存放路径,下图示例中,归档路径为 /arch。
cat /var/lib/pgsql/data/postgresql.conf

2. 执行以下命令,检查第 1 步中查看配置文件中记录的的归档路径在服务器中是否存在,若返回 No such file or directory,则表示归档路径不存在 。
ls -al /arch

3. 执行以下命令,创建配置文件中记录的归档路路径并赋予数据库用户权限。
mkdir /arch
chown postgres:postgres /arch
注意:命令示例中,数据库用户为 postgres ,具体以实际环境为准。
4. 登录 AnyBackup 管理控制台,重新发起 postgresSQL 数据库备份任务。
更多信息
关于 PostgreSQL 归档路径的更多信息,请参考 PostgreSQL 官方文档: archive_command。