我在 Windows 2019 服务器上运行了 postgres 14,并且正在使用 pg_basebackup 进行定期备份。
上周工作的同一个 powershell 脚本突然开始给我以下错误。除了主机重新启动外,系统中没有发生任何变化。
出于测试目的,我尝试让每个人都可以完全访问数据目录/备份目录,但仍然出现相同的错误。
PS G:\FULL_Backup> Start-Process -FilePath "C:\Program Files\PostgreSQL\14\bin\pg_basebackup.exe" -ArgumentList "-D G:\FULL_Backup\PG_Basebackup_2022-05-16_085816", "-Ft", "-z", "-R", "-U postgres", "-w" -Wait -NoNewWindow
pg_basebackup: error: could not initiate base backup: ERROR: could not stat file or directory "./base/18119/43980": Permission denied
pg_basebackup: removing contents of data directory "G:\FULL_Backup\PG_Basebackup_2022-05-16_085816"
谢谢, 乌达扬
数据库服务器无法读取它自己的文件之一,这绝不应该发生。你必须解决这个问题。
可能的原因是:
您正在对锁定文件的数据目录运行病毒扫描程序。不要那样做。
您更改了该文件的所有权或权限。您永远不应该修改数据目录中的任何内容。