pg_receivewal для общего ресурса сети cifs
Я пытаюсь настроить сервер pgbarman для резервного копирования кластера postgresql. Потоковая репликация не работает, если настроено хранение данных в каталоге, расположенном на общем сетевом ресурсе cifs. Кажется, проблема с корнем связана с командой pg_receivewal. Я извлек команду бармен выполняет:
$ LANG=C /usr/bin/pg_receivewal --dbname="dbname=replication host=sqlserver.domain.tld port=5432 replication=true user=barman_replication application_name=barman_receive_wal" --verbose --no-loop --no-password --directory=/var/local/backups/Postgresql/Barman/sqlserver-main/streaming --slot=barman_backup --synchronous
pg_receivewal: starting log streaming at 18/DF000000 (timeline 1)
pg_receivewal: could not fsync file "/var/local/backups/Postgresql/Barman/sqlserver-main/streaming": Invalid argument
pg_receivewal: could not open existing write-ahead log file "0000000100000018000000DF.partial": Invalid argument
pg_receivewal: could not fsync file "/var/local/backups/Postgresql/Barman/sqlserver-main/streaming": Invalid argument
pg_receivewal: could not finish writing WAL files: Invalid argument
pg_receivewal: disconnected
Пользователь, запустивший barman, имеет права на чтение / запись в этом каталоге. Я не думаю, что это проблема разрешения. Если я редактирую команду и заменяю аргумент --directory на локальный каталог (/tmp/test), ошибка исчезает...
Google не очень помог мне в этом. Есть идеи, что случилось?
$ pg_receivewal --version
pg_receivewal (PostgreSQL) 10.1