Cannot read from /tmp with PostgreSQL COPY, but able to read the same file from another directory with the exact same permissions
On Arch, the systemd script for PostgreSQL (/usr/lib/systemd/system/postgresql.service) enables private /tmp, which means the PostgreSQL server process can't communicate with the user using /tmp. 

Two possible solutions:


Create a new folder somewhere else and give user postgres read privileges on it: # sudo mount -t tmpfs -o users,rw tmpfs /data
(NOT RECOMMENDED) Set PrivateTmp option in postgresql.service to false.