Postgresql
postgres:archive_command 無法寫入 nfs 共享
我已經在主伺服器上啟用了
archive_mode
with 。wal_level = hot_standby
我打算將 wal 日誌發送到 nfs 共享:archive_command = 'test ! -f /mnt/psql_wal/%f && cp -i %p /mnt/psql_wal/%f'
但它一直告訴我:
sh: /var/lib/pgsql/archive_wal.sh: Permission denied LOG: archive command failed with exit code 126 DETAIL: The failed archive command was: test ! -f /mnt/psql_wal/000000010000000000000001 && cp -i pg_xlog/000000010000000000000001 /mnt/psql_wal/000000010000000000000001 cp: failed to access ‘/mnt/psql_wal/000000010000000000000001’: Permission denied
基本的 nfs 權限問題,您可能會想,但不是。以下命令有效:
sudo -H -u postgres cp -i /var/lib/pgsql/data/pg_xlog/000000010000000000000001 /mnt/psql_wal/000000010000000000000001
歸檔命令是否在不同的使用者下執行?
您可能是它的受害者
selinux
或類似的東西,其中同一個系統作業系統帳戶可以具有不同的權限,具體取決於它是作為守護程序執行還是從命令行執行(而且,根據氣壓,相位通常看起來月亮,還有你早餐吃的東西)。您可以將其關閉,或將其置於允許訪問並僅記錄抱怨的許可模式。