我将集群从 8.3 升级到了 8.4。一切似乎都很好,所以我删除了 8.3 集群。然后注意到一个错误,发现 archive_command 仍然指向 8.3 数据目录
archive_command = 'cp "%p" /var/lib/postgresql/8.3/main/wal_archives/"%f"'
我将其更改为 8.4,但现在日志文件和某个特定文件的进程列表中不断出现以下错误
2014-10-09 17:02:12 CDT DETAIL: The failed archive command was: cp "pg_xlog/000000010000000000000012" /var/lib/postgresql/8.4/main/wal_archives/"000000010000000000000012"
cp: cannot create regular file `/var/lib/postgresql/8.4/main/wal_archives/000000010000000000000012': No such file or directory
4122 ? Ss 0:00 \_ postgres: archiver process failed on 000000010000000000000012
我不确定从此问题中恢复的最佳方法是什么。据我所知,数据库功能齐全
答案1
检查以确保/var/lib/postgresql/8.4/main/wal_archives
存在。
您还需要确保用户可以写入它postgres
,但如果这是权限问题,错误将会有所不同。
答案2
检查用户 postgres 是否是此目录 (/var/lib/postgresql/8.4/main/wal_archives) 的所有者,或者他是否可以写入此目录!(chwon/chmod) 另外,最好不要使用此路径 /var/lib/postgresql/8.4/main/,最好使用其他设备或存储。